最近用到Unix时间戳 了解一下原理就是 取“1970-01-01 08:00:00” 与相对时间的秒数 用易的 取时间间隔 (c, 初始时间, #秒) 为双精度小数型 如果C 大于2030年. 取出的数值就变为负数了.因为超过了双精度小数型取值了.改造了一下:
.版本 2
.子程序 时间_时间转UNIX, 长整数型, 公开, 时间戳 可以一直使用 世博模块
.参数 标时间, 日期时间型
.局部变量 初始时间, 日期时间型
.局部变量 b, 长整数型
.局部变量 c, 日期时间型
.局部变量 cc, 双精度小数型
初始时间 = 到时间 (“1970-01-01 08:00:00”)
b = 取时间间隔 (标时间, 初始时间, #日)
c = 到时间 (“1970-01-01 ” + 超级处理时间 (标时间, 3))
cc = 取时间间隔 (c, 初始时间, #秒)
b = b × 60 × 60 × 24 + cc
返回 (b)
.版本 2
.支持库 spec
.局部变量 dd, 日期时间型
.局部变量 c, 长整数型
dd = 到时间 (“2100-08-05 08:15:52”)
c = 时间_时间转UNIX (dd)
调试输出 (c, “时间戳”)
4121108152 | “时间戳”
效果还是可以的.
|