作者:朱嘉赫 · 更新日期:2025-08-25
步骤 1:获取格里高 🐼 利历日期
年份(西 🐼 元纪年)
月 💮 份 🌹 (112)
日 🌿 期(131)
步 🐱 骤 2:计算儒略日 🦋
儒略日是一种从公元前 4713 年 🦋 1 月日 1 中午开始连 🪴 续计数 🦄 的天数。
公 🌳 式:儒略日 🌲 = 整 🐶 数(年份 + 4712) 的整数年份整数年份整数年份整数 365.2422 月(份日 + 4712) / 4 期(( + 4712) / 100) + (( + 4712) / 400) + (30.6001 ( + 1)) + + .5
步骤 3:计算 🐳 万年 🪴 历日期
万 🐳 年历是一种从公元前年 🐒 601 月 2 日 15 开始连续计数的天数。
公 🦉 式:万年历日期 = 儒 🐧 略日 + .5
步骤 4:计 🌷 算干 🐺 支纪年
甲、乙、丙、丁、戊、己、庚、辛 🐵 、壬、癸(10 个天干)
子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥(12 个地 🌲 支)
公式:年 🌻 干:天干[(万年历日 🌿 期 🌳 + 6) % 10]
年支 🌷 :地支[(万年历日期 + 8) % 12]
月干 🌺 :天干[(万年历日期 + 13) % 10]
月支:地支 🐎 [(万年历日期 + 15) % 12]
日干:天干 🌲 [(万年历日 🐞 期 + 19) % 10]
日支:地 🐘 支 🍁 [(万年 🦊 历日期 + 21) % 12]
时干:天 🦋 干 🌲 [(万年历日期 + 23) % 10]
时 🦈 支:地支[(万年 🐳 历 🦄 日期 + 25) % 12]
示例:假设 🦍 格里高利历日期是 🐋 2023 年 3 月日 8 。
儒 🦆 略日 = .5
万 🐘 年历日期 ☘ = .5
年 🌻 干 = 壬
年 🐯 支 = 寅
月干 🐯 = 戊 🌻
月 🐝 支 🐋 = 辰 🐅
日干 🐦 = 戊 🐱
日 🌸 支 = 戌 🐞
时 💐 干 🦉 = 庚 🐳
时 🐬 支 = 寅
因此,八字为:壬寅年 ☘ 、戊、辰、月戊戌日庚寅时。
方法 1:使用 Python 的 🐶 `strftime()` 函数
python
from datetime import datetime
date_str = "" 输 🦆 入的 🐈 日期字 🐛 符串
date_obj = datetime.strptime(date_str, "%Y%m%d") 转 💮 换为 datetime 对象
date_eight_digit = date_obj.strftime("%Y%m%d") 转换为八位数字 🍀 字符串
print(date_eight_digit)
方 🦟 法 2:使用 🦉 正则表达式
python
import re
date_str = "" 输入 🌵 的日期字符串
date_eight_digit = re.sub(r"[/.]", "", date_str) 替换 🐴 所 🐦 有分 🐝 隔符为空字符串
print(date_eight_digit)
方 🐋 法 🐬 1:使用 Python 的 🌴 `datetime` 模块
`datetime` 模块提供了一个 `strftime()` 函数,可用于将日期转 🐧 换为自定义格 💐 式 🐳 的字符串。
python
from datetime import datetime
date = datetime(2023, 3, 8)
eight_digit_date = date.strftime('%Y%m%d')
print(eight_digit_date) 输 💮 出 🌺 :
方 🦉 法 2:使 🌵 用 `str()` 函数和字符串格式化
将日期转换为字符串,然后使 🌲 用字符串格 🐧 式化将部分取 💮 出来。
python
date = datetime(2023, 3, 8)
date_str = str(date)
eight_digit_date = date_str[0:4] + date_str[5:7] + date_str[8:10]
print(eight_digit_date) 输出 💮 :
方法 3:使用 🐡 其他库(如 `pandas`)
`pandas` 库 🐈 提供了 `to_datetime()` 函数,可,将日期转换为日期时间对象然后使 🕊 用函数将日期转换为 `dt.strftime()` 指定格式的字符串。
python
import pandas as pd
date = pd.to_datetime()
eight_digit_date = date.dt.strftime('%Y%m%d')
print(eight_digit_date) 输 🐴 出 🐒 :
步骤 1:提取普 🌼 通 🐴 日期的年月日时 🦍
例 🦋 如,要转换的普通日期为 2023 年 3 月 🐡 日 8 点 10 分 🐞 30 。
步 🦍 骤 2:确定天干 🦆 地支
使用天干地支表(见下 🦊 文)找到对 🕷 应的年份、月份、日期和时辰的天干 🐘 地支。
年份:壬寅 🐎 壬(属水寅属,虎)
月份 🌵 :癸卯癸(属水卯属 🐦 ,兔)
日 🌷 期:丁巳丁 🐧 (属 🐳 火巳属,蛇)
时 🦆 辰:己 💐 巳己 🐒 (属土巳属,蛇)
步 🐞 骤 3:组合八 🐯 字
将步骤 2 中提 🐋 取 🦋 的天干地支组合起来,得到八字:
壬寅 癸 卯 丁 🦢 巳 🐦 己巳
其中:年柱:壬 🌸 寅
月柱 🪴 :癸卯 🐱
日 🌲 柱:丁巳
时 🐵 柱:己 🍁 巳 🐎
注意:如 🌵 果普通日期的时间不是整点或 🌷 半点,则需要根据下表进行时支偏移:
| 分钟 | 时 🐧 |支 🐕 偏 🐋 移
|||| 015 | 无 |偏 🌵 移
| 1630 | 逢午 🪴 午(马 🐅 ) |
| 3145 | 逢丑 🐕 丑(牛 🌸 ) |
| 4659 | 逢未未 🕊 (羊) |
例如如,果普通 🍀 日期为 2023 年 3 月日 8 点 10 分 20 则 🦍 ,时支偏移为逢丑丑(牛),因 此时柱变为己丑。
八 🦋 字计算示例 🦉 :
2023 年 3 月 8 日 🐅 10 点 20 分
壬寅 癸 卯 丁 🍀 巳己丑