TC官方合作论坛

标题: 怎么对比两个时间大小 [打印本页]

作者: 花落莫相离    时间: 2015-9-20 13:31
标题: 怎么对比两个时间大小
百度过,没学过编程,java和c的方法看不懂,就自己琢磨了个笨办法(下边也共享来这段代码),两个时间的年月日时分各自相减,虽然麻烦,但是得到了想要的结果。
如果谁有科学一点,高级一点方法还请教一教,俺也涨涨知识

要对比的时间格式是:2015/9/19 15:00
思路:1、通过两个分隔符“/”和“ ”,将时间的“年、月、日、时、分”这些元素分割出来,再获取系统时间的“年,月、日,时、分”
         2、从“年”开始用系统的各个元素分别与对比时间的各个元素相减,例如:系统年数-对比年数,如果结果大于0说明,系统时间大于要对比的时间,小于0说明系统时间小于对比时间,如果年数相等,就继续对比月,以此类推,直到分甚至秒,最后返回对比结果
         3、对比结果赋值:在功能函数里将对比结果赋值,可以通过赋值判断两个时间的大小,因为我脚本对结果要求不是那么严格,所以只设计两个值0代表系统时间大于或者等于对比时间,1代表系统时间小于对比时间

功能 日期对比(对比时间)
    变量 对比数据=数组(),对比日期=数组(),对比时=数组(),对比年,对比月,对比日,对比小时,对比分,对比结果
    字符串分割(对比时间," ",对比数据)
    字符串分割(对比数据[0],"/",对比日期)
    对比年=对比日期[0]
    对比月=对比日期[1]
    对比日=对比日期[2]
    字符串分割(对比数据[1],":",对比时)
    对比小时=对比时[0]
    对比分=对比时[1]
    变量 现在年,现在月,现在日,现在小时,现在分,at=当前时间()
    现在年=时间年(at)
    现在月=时间月(at)
    现在日=时间日(at)
    现在小时=时间时(at)
    现在分=时间分(at)
    如果(现在年-对比年>0)
        对比结果=0
    否则如果(现在年-对比年<0)
        对比结果=-1
    结束
    如果(现在年-对比年==0&&现在月-对比月>0)
        对比结果=0
    否则如果(现在年-对比年==0&&现在月-对比月<0)
        对比结果=-1
    结束
    如果(现在年-对比年==0&&现在月-对比月==0&&现在日-对比日>0)
        对比结果=0
    否则如果(现在年-对比年==0&&现在月-对比月==0&&现在日-对比日<0)
        对比结果=-1
    结束
    如果(现在年-对比年==0&&现在月-对比月==0&&现在日-对比日==0&&现在小时-对比小时>0)
        对比结果=0
    否则如果(现在年-对比年==0&&现在月-对比月==0&&现在日-对比日==0&&现在小时-对比小时<0)
        对比结果=-1
    结束
    如果(现在年-对比年==0&&现在月-对比月==0&&现在日-对比日==0&&现在小时-对比小时==0&&现在分-对比分>0||现在年-对比年==0&&现在月-对比月==0&&现在日-对比日==0&&现在小时-对比小时==0&&现在分-对比分==0)
        对比结果=0
    否则如果(现在年-对比年==0&&现在月-对比月==0&&现在日-对比日==0&&现在小时-对比小时==0&&现在分-对比分<0)
        对比结果=-1
    结束
    返回 对比结果
结束


作者: lidongxu    时间: 2015-9-20 16:24
不是有时间间隔这个函数的吗?
消息框(时间间隔("h","2012/12/11 11:20:30","2012/12/3 11:20:30"))
作者: 花落莫相离    时间: 2015-9-20 17:58
你是对的,没用过,不说还没发现。3Q。
作者: tan0360    时间: 2015-9-20 22:36
lidongxu 发表于 2015-9-20 16:24
不是有时间间隔这个函数的吗?
消息框(时间间隔("h","2012/12/11 11:20:30","2012/12/3 11:20:30")) ...

啊哈哈哈

作者: lidongxu    时间: 2015-9-20 23:01
花落莫相离 发表于 2015-9-20 17:58
你是对的,没用过,不说还没发现。3Q。






欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1