|
|

分享源码
| 界面截图: |
|
| 是否带模块: |
纯源码 |
| 备注说明: |
- |
本帖最后由 莫小乐 于 2026-7-18 14:22 编辑
✅ 时间转换
✅ 简介
一个全面实用的时间转换,集时间格式化、时间戳转换、传统文化信息(生肖/星座/时辰)计算于一体。核心函数 时间_格式_模板 专为AI上下文注入设计,一次调用即可将完整的时间上下文喂给大模型,让你的AI应用具备精准的时间感知能力。
✅ 核心函数
1. 时间_格式_模板 —— 专为AI设计的时间上下文生成器
这是一个"喂给AI"的利器。在AI对话或智能体开发中,模型往往缺乏当前时间的感知,而这个函数可以将完整的时间信息打包成一段结构化文本,直接注入到系统提示词或上下文中,让AI瞬间获得丰富的时间认知。
为什么需要它?
通常我们只会告诉AI"今天是2026年7月18日",但这远远不够。AI不知道今天是星期几、是什么季节、离年底还有多久、甚至不知道自己的"属相"是什么。这个函数一次性补齐所有时间维度,让AI的回答更加自然、应景、人性化。
输出内容分解:
基础时间层
- 标准日期时间(年-月-日 时:分:秒),自动补零,适合日志和显示
- AI可直接解析的标准格式,无需二次处理
周期定位层
- 星期几:让AI知道"今天是周六",回答语气更贴合周末氛围
- 第几季度:辅助AI判断当前处于年初、年中还是年末,影响业务逻辑
- 第几周(ISO标准算法):项目进度、甘特图、周报生成的核心依据
- 年内第几天:天数累进值,方便做进度百分比计算
传统文化层
- 生肖:鼠牛虎兔龙蛇马羊猴鸡狗猪,让AI能聊农历新年、本命年等话题
- 星座:十二星座,日期边界完全符合公历标准,AI可以做性格分析、运势调侃
- 时辰:子丑寅卯辰巳午未申酉戌亥,中国传统十二时辰,古风场景、中医养生类AI的刚需
年度概况层
- 闰年/平年判断:精准的年份属性,影响2月天数、年度天数等计算
- 上/下半年:宏观时间定位,辅助阶段性总结或展望
- 年内剩余天数:倒计时感,让AI能说出"今年只剩166天了"
调用一次,实际输出效果:
2026-07-18 14:05:33
星期六 第3季 第29周 第199天
生肖马 星座巨蟹座 平年 下半年 剩166天
时辰未时
典型用法:拼接到AI系统提示词
将上述文本直接附加到 system prompt 中,例如:
"当前时间信息:2026-07-18 14:05:33,星期六,第3季,下半年,生肖马,时辰未时。请根据此时间背景回答用户问题。"
这样AI就能在对话中自然地带出时间细节,比如"周末愉快"、"马年大吉"、"午后未时,适合小憩"等等,大幅提升交互的自然度和人情味。
2. 时间_时间到时间戳
日期时间型 → Unix秒戳,支持传入任意时间,默认取当前时间。适用于数据存储、API签名、时间比较等场景。
3. 时间_时间戳到时间
Unix秒戳 → 日期时间型,方便网络数据解析、数据库读取后的时间还原。
4. 时间_取现行时间戳
基于 GetSystemTimeAsFileTime 的高精度取时,支持两种模式:
适用于需要高精度计时的场景,如性能测试、消息排序等。
✅ 特色亮点
- ✅ AI量身打造:
时间_格式_模板 专为AI上下文注入设计,输出结构清晰、信息完整
- ✅ 生肖计算:精准无误,鼠牛虎兔龙蛇马羊猴鸡狗猪
- ✅ 星座判定:日期边界完全符合公历标准,不差一天
- ✅ 时辰划分:遵循中国传统十二时辰规则,古风场景首选
- ✅ 周数算法:采用ISO国际标准,与主流日历一致
- ✅ 自动补零:输出格式整洁统一,即拿即用
- ✅ 参数可空:所有函数默认取当前时间,调用极简
- ✅ 轻量纯净:仅依赖 spec 支持库,无第三方依赖
✅ 适用场景
- AI智能体开发:作为时间上下文注入系统提示词
- 聊天机器人:让对话更自然、更应景、更有人情味
- 程序调试与日志记录:输出完整时间信息便于排查
- 数据记录时间标记:精准时间戳与可读格式并存
- API 签名与鉴权:时间戳生成与验证
- 传统文化展示:生肖、星座、时辰等信息的获取与展示
- 信息面板与状态栏:丰富的时间维度展示
共 4 个公开函数,覆盖AI上下文生成、时间格式化、时间戳互转、高精度取时四大场景,即拿即用,助力高效开发。
|
| api_取现行时间戳 | 整数型 | | |
| kernel32.dll | |
| GetSystemTimeAsFileTime | |
| lpSystemTimeAsFileTime | 长整数型 | | |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 年 | 文本型 | | | | 月 | 文本型 | | | | 日 | 文本型 | | | | 时 | 文本型 | | | | 分 | 文本型 | | | | 秒 | 文本型 | | | | 星期 | 文本型 | | | | 今年第几季 | 文本型 | | | | 今年第几周 | 文本型 | | | | 年内天数 | 整数型 | | | | 第一天星期 | 整数型 | | | | 今年第几天 | 文本型 | | | | i | 整数型 | | | | 最终格式 | 文本型 | | | | 生肖 | 文本型 | | | | 星座 | 文本型 | | | | 是否闰年 | 文本型 | | | | 今年剩余天数 | 文本型 | | | | 上下半年 | 文本型 | | | | 时辰 | 文本型 | | | 如果真 (是否为空 (当前时间 ))  当前时间 = 取现行时间 () 年 = 到文本 (取年份 (当前时间 )) 月 = 到文本 (取月份 (当前时间 )) 日 = 到文本 (取日 (当前时间 )) 时 = 到文本 (取小时 (当前时间 )) 分 = 到文本 (取分钟 (当前时间 )) 秒 = 到文本 (取秒 (当前时间 )) 星期 = 多项选择 (取星期几 (当前时间 ), “日”, “一”, “二”, “三”, “四”, “五”, “六”) 月 = 选择 (取月份 (当前时间 ) < 10, “0”, “”) + 月 日 = 选择 (取日 (当前时间 ) < 10, “0”, “”) + 日 时 = 选择 (取小时 (当前时间 ) < 10, “0”, “”) + 时 分 = 选择 (取分钟 (当前时间 ) < 10, “0”, “”) + 分 秒 = 选择 (取秒 (当前时间 ) < 10, “0”, “”) + 秒 判断 (取月份 (当前时间 ) ≤ 3 ) 今年第几季 = “1” 判断 (取月份 (当前时间 ) ≤ 6 ) 今年第几季 = “2” 判断 (取月份 (当前时间 ) ≤ 9 ) 今年第几季 = “3” 今年第几季 = “4” 年内天数 = 取日 (当前时间 ) 计次循环首 (取月份 (当前时间 ) - 1, i ) 年内天数 = 年内天数 + 取某月天数 (取年份 (当前时间 ), i ) 计次循环尾 ()第一天星期 = 取星期几 (到时间 (到文本 (取年份 (当前时间 )) + “年1月1日”)) 今年第几周 = 到文本 (取整 ( (年内天数 + 第一天星期 - 2 ) ÷ 7 ) + 1 ) 今年第几天 = 到文本 (年内天数 ) 生肖 = 多项选择 ( (取年份 (当前时间 ) - 4 ) % 12 + 1, “鼠”, “牛”, “虎”, “兔”, “龙”, “蛇”, “马”, “羊”, “猴”, “鸡”, “狗”, “猪”) 判断 (取月份 (当前时间 ) = 1 且 取日 (当前时间 ) ≥ 20 或 取月份 (当前时间 ) = 2 且 取日 (当前时间 ) ≤ 18 ) 星座 = “水瓶座” 判断 (取月份 (当前时间 ) = 2 且 取日 (当前时间 ) ≥ 19 或 取月份 (当前时间 ) = 3 且 取日 (当前时间 ) ≤ 20 ) 星座 = “双鱼座” 判断 (取月份 (当前时间 ) = 3 且 取日 (当前时间 ) ≥ 21 或 取月份 (当前时间 ) = 4 且 取日 (当前时间 ) ≤ 19 ) 星座 = “白羊座” 判断 (取月份 (当前时间 ) = 4 且 取日 (当前时间 ) ≥ 20 或 取月份 (当前时间 ) = 5 且 取日 (当前时间 ) ≤ 20 ) 星座 = “金牛座” 判断 (取月份 (当前时间 ) = 5 且 取日 (当前时间 ) ≥ 21 或 取月份 (当前时间 ) = 6 且 取日 (当前时间 ) ≤ 21 ) 星座 = “双子座” 判断 (取月份 (当前时间 ) = 6 且 取日 (当前时间 ) ≥ 22 或 取月份 (当前时间 ) = 7 且 取日 (当前时间 ) ≤ 22 ) 星座 = “巨蟹座” 判断 (取月份 (当前时间 ) = 7 且 取日 (当前时间 ) ≥ 23 或 取月份 (当前时间 ) = 8 且 取日 (当前时间 ) ≤ 22 ) 星座 = “狮子座” 判断 (取月份 (当前时间 ) = 8 且 取日 (当前时间 ) ≥ 23 或 取月份 (当前时间 ) = 9 且 取日 (当前时间 ) ≤ 22 ) 星座 = “处女座” 判断 (取月份 (当前时间 ) = 9 且 取日 (当前时间 ) ≥ 23 或 取月份 (当前时间 ) = 10 且 取日 (当前时间 ) ≤ 23 ) 星座 = “天秤座” 判断 (取月份 (当前时间 ) = 10 且 取日 (当前时间 ) ≥ 24 或 取月份 (当前时间 ) = 11 且 取日 (当前时间 ) ≤ 22 ) 星座 = “天蝎座” 判断 (取月份 (当前时间 ) = 11 且 取日 (当前时间 ) ≥ 23 或 取月份 (当前时间 ) = 12 且 取日 (当前时间 ) ≤ 21 ) 星座 = “射手座” 星座 = “摩羯座” 是否闰年 = 选择 (取年份 (当前时间 ) % 400 = 0 或 取年份 (当前时间 ) % 4 = 0 且 取年份 (当前时间 ) % 100 ≠ 0, “闰年”, “平年”) 今年剩余天数 = 到文本 (选择 (是否闰年 = “闰年”, 366, 365 ) - 年内天数 ) 上下半年 = 选择 (取月份 (当前时间 ) ≤ 6, “上半年”, “下半年”) 时辰 = 多项选择 (取整 ( (取小时 (当前时间 ) + 1 ) ÷ 2 ) % 12 + 1, “子时”, “丑时”, “寅时”, “卯时”, “辰时”, “巳时”, “午时”, “未时”, “申时”, “酉时”, “戌时”, “亥时”) 最终格式 = 年 + “-” + 月 + “-” + 日 + “ ” + 时 + “:” + 分 + “:” + 秒 + #换行符 + “星期” + 星期 + “ 第” + 今年第几季 + “季 第” + 今年第几周 + “周 第” + 今年第几天 + “天” + #换行符 + “生肖” + 生肖 + “ 星座” + 星座 + “ ” + 是否闰年 + “ ” + 上下半年 + “ 剩” + 今年剩余天数 + “天” + #换行符 + “时辰” + 时辰 调试输出 (最终格式 )返回 (最终格式 ) 如果真 (是否为空 (时间 ))  时间 = 取现行时间 ()返回 (到文本 (取时间间隔 (时间, [1970年1月1日8时], #秒 )))返回 (增减时间 ([1970年1月1日8时 ], #秒, 到整数 (时间戳 )) )api_取现行时间戳 (ret )ret = ret - 1.16444736e+017 如果 (是否取十三位 ) ret = ret ÷ 10000  ret = ret ÷ 10000000 返回 (到文本 (ret))
|
|