我现在正在尝试创建一个球拍程序,将输入的日期(01.01.2000 和 31.12.2100 之间)显示为一天。
最好的问候凯亚恩
与时间相关的库应该可以在这里提供帮助。
#lang racket
(require racket/date)
;; Given a day, month, and year, return the weekday
(define (day-month-year->weekday day month year)
(define local-secs (find-seconds 0
0
0
day
month
year
#t))
(define the-date (seconds->date local-secs))
(vector-ref #("sunday" "monday" "tuesday" "wednesday" "thursday"
"friday" "saturday")
(date-week-day the-date)))
例如,我在我所在地区(2012 年 11 月 17 日)写这篇文章的日期是星期六,该day-month-year->weekday
函数也支持这一点:
> (day-month-year->weekday 17 11 2012)
"saturday"
1969 年 7 月 20 日应该是一个星期日:
> (day-month-year->weekday 20 7 1969)
"sunday"
Zeller 的同余是您将要查看的算法。将算法从数学转换为球拍代码应该相当简单。
旁注:在询问 StackOverflow 时,询问更具体的问题并将其表述为问题会有所帮助。说明您已经尝试过的内容也可能会有所帮助。