|
发表于 2018-8-8 18:27:38
|
显示全部楼层
四川省绵阳市
本帖最后由 C盘是头猪 于 2018-8-8 18:28 编辑
恭喜你,找着了真正的bug.
干的漂亮,小伙子.... |
时间_到时间戳 | 文本型 | | |
参_时间 | 日期时间型 | | | | 参_十位时间戳 | 逻辑型 | | | | 参_是否取满10位 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_时间 | 精易_时间 | | | 返回值 | 文本型 | | | 毫秒数 | 文本型 | | | 时间a | 文本型 | | |
参_时间 = 选择 (是否为空 (参_时间 ), 取现行时间 (), 参_时间 )VariantTimeToSystemTime (参_时间, 局_时间 )毫秒数 = 取重复文本 (3 - 取文本长度 (到文本 (局_时间.毫 )), “0”) + 到文本 (局_时间.毫 )时间a = 到文本 (取时间间隔 (参_时间, 到时间 (“1970-01-01 08:00:00”), #秒 )) 如果真 (参_是否取满10位 )如果真 (取文本长度 (时间a ) < 10 )时间a = 取重复文本 (10 - 取文本长度 (时间a ), “0”) + 时间a 调试输出 (参_时间, 局_时间.年, 局_时间.月, 局_时间.日, 局_时间.时, 局_时间.分, 局_时间.秒, “毫秒数:”, 毫秒数, “时间a:”, 时间a)调试输出 (参_时间, 局_时间.年, 局_时间.月, 局_时间.日, 局_时间.时, 局_时间.分, 局_时间.秒, “毫秒数:”, 毫秒数, “时间a:”, 时间a, “时间a + 毫秒数:”, 时间a + 毫秒数)返回 (选择 (参_十位时间戳, 时间a, 时间a + 毫秒数 ))
关键在最后一行,第二个参数,在取十位时间戳的时候,不需要再加上毫秒数,总共才10位,再加就爆了.
以下是模块原来的代码,写的很标准,只是问题出在最后一行.
|
时间_到时间戳 | 文本型 | | |
参_时间 | 日期时间型 | | | | 参_十位时间戳 | 逻辑型 | | | | 参_是否取满10位 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_时间 | 精易_时间 | | | 返回值 | 文本型 | | | 毫秒数 | 文本型 | | | 时间a | 文本型 | | |
参_时间 = 选择 (是否为空 (参_时间 ), 取现行时间 (), 参_时间 )VariantTimeToSystemTime (参_时间, 局_时间 )毫秒数 = 取重复文本 (3 - 取文本长度 (到文本 (局_时间.毫 )), “0”) + 到文本 (局_时间.毫 )时间a = 到文本 (取时间间隔 (参_时间, 到时间 (“1970-01-01 08:00:00”), #秒 )) 如果真 (参_是否取满10位 )如果真 (取文本长度 (时间a ) < 10 )时间a = 取重复文本 (10 - 取文本长度 (时间a ), “0”) + 时间a 返回 (选择 (参_十位时间戳, 取文本左边 (时间a + 毫秒数, 10), 时间a + 毫秒数))
楼主观察的够仔细,送上12个赞...
那个 9782784000(10位) 代表着北京时间:2280-01-03 0:0:00
另外 978278400(9位) 代表着北京时间:2001-01-01 0:0:00
还有 0978278400(10位) 代表着北京时间:2001-01-01 0:0:00
要把这样的整数放到数组里比较,当然会出错了.
|
评分
-
查看全部评分
|