|
|
发表于 2025-11-4 19:29:57
|
显示全部楼层
浙江省杭州市
本帖最后由 歆冉忆梦 于 2025-11-4 19:38 编辑
楼主写的不是北京时间,以下是转到北京时间的修改版,调用了精易模块。
.版本 2
.子程序 时间_ISO8601到北京时间, 日期时间型
.参数 ISO8601时间, 文本型
.局部变量 时间文本, 文本型
.局部变量 返回位置, 整数型
.局部变量 时区文本, 文本型
.局部变量 时区文本_小时, 文本型
.局部变量 时区文本_分钟, 文本型
.局部变量 时区差距_小时, 整数型
.局部变量 时区差距_分钟, 整数型
.局部变量 局_时区正负, 逻辑型, , , 真为+时区,假为-时区
.局部变量 局_当钱时间, 日期时间型
时间文本 = 子文本替换 (到大写 (ISO8601时间), “T”, “ ”, , , 真)
返回位置 = 取文本长度 (时间文本) - 5
时间文本 = 取文本左边 (时间文本, 返回位置 - 1)
.判断开始 (文本_取某位置文本 (ISO8601时间, 取文本长度 (ISO8601时间) - 5, ) = “+”)
局_时区正负 = 真
.判断 (文本_取某位置文本 (ISO8601时间, 取文本长度 (ISO8601时间) - 5, ) = “-”)
局_时区正负 = 假
.默认
返回 (到时间 (时间文本))
.判断结束
' 过滤时区文本
时区文本 = 取文本右边 (ISO8601时间, 5)
' 分割时区文本
时区文本_小时 = 取文本左边 (时区文本, 2)
时区文本_分钟 = 取文本右边 (时区文本, 2)
.如果 (局_时区正负 = 真)
' 正时区
时区差距_小时 = 8 - 到整数 (时区文本_小时)
时区差距_分钟 = 0 - 到整数 (时区文本_分钟)
.否则
' 负时区
时区差距_小时 = 8 + 到整数 (时区文本_小时)
时区差距_分钟 = 0 + 到整数 (时区文本_分钟)
.如果结束
局_当钱时间 = 到时间 (时间文本)
局_当钱时间 = 增减时间 (局_当钱时间, #小时, 到整数 (时区差距_小时))
局_当钱时间 = 增减时间 (局_当钱时间, #分钟, 到整数 (时区差距_分钟))
返回 (局_当钱时间)
|
|