天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 58|回复: 0

日期时间转星期 末日算法

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
_$ (:DATE>WEEKDAY 1899 12 31)
"Sunday"
_$ (:DATE>WEEKDAY 1900 01 01)
"Sunday"
_$

[code](defun :DATE>WEEKDAY ( year month day / century-code month-code tmp x-nth year-code )

        (defun :DXF (code elist) (cdr (assoc code elist ) ) )

        (setq tmp (atoi (substr (itoa year) 1 2) ) )

        (cond
                ( (= tmp 17) (setq century-code 4) )   
                ( (= tmp 18) (setq century-code 2) )   
                ( (= tmp 19) (setq century-code 0) )   
                ( (= tmp 20) (setq century-code 6) )
                ( (= tmp 21) (setq century-code 4) )
        )

        (setq month-code  (:DXF month '( (1 . 0)(2 . 3)(3 . 3)(4 . 6)(5 . 1)(6 . 4)(7 . 6)(8 . 2)(9 . 5)(10 . 0)(11 . 3)(12 . 5) ) ) )
        
        (setq year-code   (atoi (substr (itoa year) 3 2) ) )

        (setq year-code   (rem (+ year-code (/ year-code 4) ) 7) )
        
        (setq x-nth (rem (+ year-code month-code century-code day) 7) )

        
;|      
        LEAP YEAR CODE                                                                                                                                                                                                  -
        The other thing to take into account is whether you are dealing with a leap year

        EDIT: If the date is in a January or February of a leap year,
        you have to subtract one from your total before the final step

        https://artofmemory.com/blog/how-to-calculate-the-day-of-the-week/

        https://www.calculator.net/day-of-the-week-calculator.html?today=02%2F02%2F1940&x=86&y=19
|;
        
        (if (and (= (rem year 4) 0) (member month '(1 2) ) )    (setq x-nth (- x-nth 1) ) )

        
        (if (= x-nth -1) (setq x-nth 6) )


        (nth x-nth '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday") )
)

(defun C:K () (:DATE>WEEKDAY 2022 1 3 ) ) [/code]

 

 

 

 

日期时间转星期   末日算法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 13:25 , Processed in 0.147874 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表