步骤 1:获取年 🦊 月日时辰
年份、月 🐼 份、日 🌷 、期时 🐬 辰
步 🌺 骤 2:计算 🌺 天干地支
年干年:份后一 🐺 位数字的对应天干(0=甲,1=乙,2=丙,3=丁,4=戊,5=己,6=庚,7=辛,8=壬,9=癸)
年支年:份最后两位数字 🐬 的对应地支(00=子,01=丑,02=寅,03=卯,04=辰,05=巳,06=午,07=未,08=申,09=酉,10=戌,11=亥)
月 🦄 干月:份的 🌵 对应天干(1=甲,2=乙,3=丙,4=丁,5=戊,6=己,7=庚,8=辛,9=壬,10=癸)
月支月:份的对应 🍁 地支(1=寅,2=卯,3=辰,4=巳,5=午,6=未,7=申,8=酉,9=戌 🦊 ,10=亥,11=子,12=丑)
日干:根据年柱和月柱 🐺 推算(详见“计算日干”部分)
日支:根据年干和 🐒 月 🐯 支推算(详见“计算日支 🍀 ”部分)
时 🪴 干时 🐕 :辰的对应天干(1=甲,2=乙,3=丙,4=丁,5=戊,6=己,7=庚,8=辛,9=壬,10=癸)
时支时:辰的对应地 🌸 支(1=子,2=丑,3=寅,4=卯辰,5=巳,6=午,7=未,8=申,9=酉,10=戌,11=亥,12=)
步骤 🌲 3:计 🐛 算日干 🐈
根据年 💮 柱和月柱查 🦆 日干表:
| 年柱地支 \ 月柱天干 | 甲 | 乙 | 丙 | 丁 💮 | 戊 🌵 | 己 | 庚 | 辛 | 壬 | 癸 |
|||||||||||
| 子 | 戊 | 己 | 庚 | 辛 | 壬 | 癸 | 甲 | 乙 | 丙 🌼 | 丁 🌺 |
| 丑 | 壬 | 癸 | 甲 | 乙 | 丙 | 丁 | 戊 | 己 🌾 | 庚 | 辛 |
| 寅 | 丙 | 丁 | 戊 | 己 🌳 | 庚 | 辛 | 壬 | 癸 | 甲 🌻 | 乙 |
| 卯 | 庚 | 辛 🐈 | 壬 | 癸 | 甲 🌴 | 乙 | 丙 | 丁 | 戊 | 己 |
| 辰 | 甲 | 乙 🕊 | 丙 💮 | 丁 | 戊 🕸 | 己 | 庚 | 辛 | 壬 | 癸 |
| 巳 | 戊 | 己 | 庚 | 辛 | 壬 🌾 | 癸 | 甲 | 乙 | 丙 | 丁 |
| 午 | 壬 | 癸 | 甲 🌴 | 乙 | 丙 | 丁 | 戊 | 己 | 庚 | 辛 |
| 未 | 丙 | 丁 🐧 | 戊 | 己 | 庚 | 辛 | 壬 | 癸 | 甲 | 乙 |
| 申 | 庚 | 辛 | 壬 | 癸 | 甲 | 乙 | 丙 | 丁 🐯 | 戊 | 己 |
| 酉 | 甲 🐝 | 乙 | 丙 | 丁 | 戊 | 己 | 庚 🐅 | 辛 | 壬 | 癸 |
| 戌 | 戊 | 己 🌻 | 庚 | 辛 | 壬 | 癸 | 甲 | 乙 🌵 | 丙 🌹 | 丁 |
| 亥 🦉 | 壬 | 癸 | 甲 | 乙 | 丙 🦢 | 丁 | 戊 | 己 | 庚 | 辛 |
步骤 4:计算日 🌲 支
根据 🦉 年干和月支查日支表:
| 年 🐟 干 \ 月 🌷 支 | 子 | 丑 | 寅 | 卯 | 辰 | 巳 | 午 🕸 | 未 | 申 | 酉 | 戌 | 亥 |
|||||||||||||
| 甲 | 子 | 丑 | 寅 | 卯 | 辰 | 巳 🐠 | 午 🌷 | 未 | 申 🪴 | 酉 | 戌 | 亥 |
| 乙 | 丑 | 寅 | 卯 | 辰 🐠 | 巳 | 午 | 未 🐬 | 申 | 酉 | 戌 ☘ | 亥 | 子 |
| 丙 | 寅 | 卯 | 辰 | 巳 | 午 | 未 🌼 | 申 🐘 | 酉 | 戌 🌷 | 亥 | 子 | 丑 |
| 丁 | 卯 | 辰 | 巳 | 午 | 未 | 申 ☘ | 酉 | 戌 | 亥 | 子 | 丑 | 寅 |
| 戊 | 辰 | 巳 | 午 | 未 | 申 | 酉 | 戌 🌲 | 亥 | 子 | 丑 | 寅 | 卯 |
| 己 | 巳 | 午 | 未 | 申 | 酉 🐒 | 戌 | 亥 | 子 | 丑 🌻 | 寅 🐦 | 卯 | 辰 |
| 庚 | 午 | 未 🕸 | 申 | 酉 | 戌 | 亥 | 子 | 丑 | 寅 | 卯 | 辰 | 巳 |
| 辛 | 未 | 申 | 酉 | 戌 | 亥 | 子 | 丑 | 寅 | 卯 🐴 | 辰 | 巳 🦅 | 午 🌹 |
| 壬 | 申 | 酉 🐼 | 戌 | 亥 | 子 | 丑 | 寅 🦍 | 卯 | 辰 🌼 | 巳 | 午 | 未 |
| 癸 | 酉 | 戌 | 亥 | 子 | 丑 🌷 | 寅 | 卯 | 辰 | 巳 | 午 | 未 | 申 |
示例:将 🌵 1985 年 11 月 15 日 18 时 转换为八 🦈 字:
年干:乙日干:辛(甲乙辛戊乙;丑辛 🌻 丑癸丑 🦈 )
日支:亥(甲己卯戌;乙丑辛丑癸亥 🌾 )
时干:辛八字:乙 🌿 丑 辛丑 辛 亥辛丑 🍀
python 实 🌼 现 🦍 :
python
from datetime import datetime
年月日year = 2023
month = 3
day = 8
转 🌵 换成日期格式
date = datetime(year, month, day)
打印结果print(date)
`datetime.datetime()` 函数可将 🦁 年、月、日转 🍀 换成日期格式。
`year`、`month`、`day` 分 🦈 、别指定年份 🦊 月份和日 🦅 期。
`date` 变量 🐘 存储转 🐧 换后的日期 🦁 。
`print(date)` 打印转换 💐 后的日期 🐯 。
方 🐠 法一:使用 Python 库
python
from datetime import datetime
创建一个 🐘 datetime 对象 🐋
dt = datetime(2023, 3, 8)
使用 strftime() 方法格式化为年月格 🌳 式
ym = dt.strftime("%Y%m")
print(ym) 输 🌲 出:202303
方法二:使用正 🦅 则 🐕 表达 💐 式
python
import re
date_str = ""
使用正则表达 🐼 式匹配 🦅 年月部分 🦄
ym = re.search(r"(\d{4})(\d{2})", date_str).group(1, 2)
print(ym) 输 🐘 出 🐦 :202303
方法三:使用字符 🦄 串操 🐞 作 🌷
python
date_str = ""
分割年月 🌸 日
ym = date_str.split("")[:2]
使用 join() 方法合并为年月字符 💐 串
ym = "".join(ym)
print(ym) 输 🦊 出 🕷 :202303
从年 🐬 月 🦋 日中 🐠 提取年份有两种方法:
方 🐒 法 1:字符 🐡 串操纵 🦉
1. 将日期字符串分解为年份、月份和日期部 🐡 分。
2. 获取年 🦢 份部分。
python
date_string = ""
year = date_string.split("")[0]
print(year) 输 🦋 出 🐎 :2023
方 🐅 法 2:datetime 模块
1. 使用 `datetime.datetime` 从 🐅 日期字符 🦢 串创 🌲 建 `datetime` 对象。
2. 获 🐞 取 🦅 `year` 属 🐦 性。
python
from datetime import datetime
date_string = ""
date_object = datetime.fromisoformat(date_string)
year = date_object.year
print(year) 输 🐺 出:2023