自贡黄明儒 发表于 2013-1-8 15:55:43

[求助]时间比较[已经搞定]

本帖最后由 自贡黄明儒 于 2013-1-20 07:46 编辑

用(setq timeold(vl-file-systime filename1) (setq timeNew(vl-file-systime filename)获得两个时间,如何比较大小?

lht 发表于 2013-1-8 16:27:13

(> timeold timeNew)为真,timeold后于timeNew

自贡黄明儒 发表于 2013-1-8 16:31:55

lht 发表于 2013-1-8 16:27 static/image/common/back.gif
(> timeold timeNew)为真,timeold后于timeNew

这样好象不行呢,难道是我头整晕了,等会儿我再试

ll_j 发表于 2013-1-8 16:47:45

返回值是表,不好直接比较,可以有两种方式:
1.逐个比较(星期除外);
2.把表换算成一个值(比如秒),然后再比较。

自贡黄明儒 发表于 2013-1-8 17:48:06

本帖最后由 自贡黄明儒 于 2013-1-20 07:44 编辑

;;HHTime时间大,返回T
(defun TimeCompa (HHTime fileTime / A)
    (setq a (mapcar '> HHTime fileTime))   
    (setq b (mapcar '< HHTime fileTime))
    (> (length (member T a))(length (member T b)))
)

1028695446 发表于 2023-8-25 22:07:10

;;比较文件时间新旧,新T,旧nil
        ;(setq a(vl-file-systime (strcat folder_path "A$Cae89669a.DWG")))
        ;'(2023 8 5 25 20 29 43 348)
        ;(setq d(vl-file-systime (strcat folder_path "A$C03c47315.DWG")))
        ;'(2023 8 5 25 21 49 42 398)
        ;(TimeNEWer d a) T
        (defun TimeNEWer (Afile_time Bfile_time / a b i flag )       
                (setq i 0)
                (setq loop_ctrl T)
                (while (and loop_ctrl (<= i 7))               
                        (setq a (nth i Afile_time))
                        (setq b (nth i Bfile_time))
                        (cond
                                ((> a b) (setq loop_ctrl nil)(setq flag T))
                                ((= a b) (setq loop_ctrl T)(setq i (1+ i)))
                                ((< a b) (setq loop_ctrl nil)(setq flag nil))
                        )       
                )
                flag       
        )
页: [1]
查看完整版本: [求助]时间比较[已经搞定]