|
本帖最后由 萧阳天 于 2016-6-16 00:16 编辑
.版本 2
.子程序 时间_格林威治转北京, 日期时间型, 公开, 将【格林威治的标准时间】转换成【北京标准时间】,13位的时间戳请注意第2个参数
.参数 要转换的格林威治时间, 长整数型, , 要转换的格林威治时间
.参数 是否为秒, 逻辑型, 可空, 时间戳记值单位 真:秒 假:毫秒 默认为真
.参数 是否为北京时间, 逻辑型, 可空, 默认为真
.局部变量 初始时间, 日期时间型
.如果真 (要转换的格林威治时间 > 9999999999)
要转换的格林威治时间 = 取整 (要转换的格林威治时间 ÷ 1000)
.如果真结束
.如果真 (是否为空 (是否为北京时间))
是否为北京时间 = 真
.如果真结束
.如果 (是否为北京时间)
初始时间 = 到时间 (“1970-01-01 08:00:00”)
.否则
初始时间 = 到时间 (“1970-01-01 00:00:00”)
.如果结束
.如果真 (是否为空 (是否为秒))
是否为秒 = 真
.如果真结束
.如果 (是否为秒)
返回 (增减时间 (初始时间, #秒, 要转换的格林威治时间))
.否则
返回 (增减时间 (初始时间, #秒, 要转换的格林威治时间 ÷ 1000))
.如果结束
返回 (增减时间 (初始时间, #秒, 要转换的格林威治时间))
‘----------------------------------------------------------------------------
增减时间参数3 类型为整数型
传入超出整数 2147483647 范围时 得到的结果将是错误的
所以 要转换的格林威治时间 需要在子程序内部 判断 时间秒数 是否超出整数型范围 如果超出 需要多次增减 而不是直接一个长整数型参数传入
刚才帖子名没写到点上。。
|
|