newer 发表于 2017-5-2 16:03:49

关于时间,日期,星期的一些函数代码

1、判断是否是闰年


(defun XD::DOC:leapyear-p ( y )
    (and (zerop (rem y 4))
         (or (zerop (rem y 400))
             (not (zerop (rem y 100)))
         )
    )
)



2、求给定日期(年 月 日 ),整数或者字符串是星期几, 0-周日,1-周一.......


(defun XD::DOC:weekday (y m d)
(if (= (type y) 'str)
    (setq y (atoi y))
)
(if (= (type m) 'str)
    (setq m (atoi m))
)
(if (= (type d) 'str)
    (setq d (atoi d))
)
(if (< m 3)
    (setq y (1- y)
          m (+ m 12)
    )
)
(setq ret (rem (+ 5 d (/ (* 26 (1+ m)) 10) y (/ y 4) (* 6 (/ y 100))
                  (/ y 400)
               ) 7
          )
)
(cond
    ((= ret 6)
      0
    )
    (t
      (1+ ret)
    )
)
)



下面结果说明2017年5月2日是星期二
命令: (XD::DOC:WEEKday 2017 5 2)
2


3、求具体日期是当年的第几个星期

**** Hidden Message *****



命令: (XD::DOC:WEEKNUMBER "2017" "5" "2")
18
命令: (XD::DOC:WEEKNUMBER 2017 5 2)
18


2017年5月2日是2017年的第18个星期

q3_2006 发表于 2017-5-2 16:18:49

时间转换函数很需要

HLCAD 发表于 2017-5-2 17:19:08

本帖最后由 HLCAD 于 2017-5-2 17:28 编辑

感谢版主分享代码!
能算出对应的阴历就好了

13993359550 发表于 2017-5-2 20:39:16

谢谢分享

434939575 发表于 2017-5-2 21:26:50

谢谢老大分享!

819534890 发表于 2017-5-2 22:44:57

谢谢分享~

wdmzslw 发表于 2017-5-2 23:05:44

这个好,正要学习一下

winerfjy 发表于 2017-5-3 00:14:08

谢谢楼主分享

sicky111 发表于 2017-5-3 00:30:55

有用,谢谢分享。

bonny123 发表于 2017-5-6 11:25:36

HLCAD 发表于 2017-5-2 17:19


这个倒是很有想法,,,,

ynhh 发表于 2017-5-6 12:05:39

谢谢分享!
谢谢分享!谢谢分享!

defun 发表于 2017-5-14 15:55:58


有用,谢谢分享。

1028882406@qq.c 发表于 2017-5-25 23:56:32

谢谢楼主,学习下

flowerson 发表于 2017-5-27 11:47:24

有可以转换成两个时间之间是差多少天吗?

zz159504 发表于 2017-6-22 22:23:25

感谢版主分享代码!
页: [1] 2 3
查看完整版本: 关于时间,日期,星期的一些函数代码