我现在正在尝试创建一个球拍程序,显示输入日期(在01.01.2000和31.12.2100之间)作为一天。
最好的问候凯恩
答案 0 :(得分:2)
time-related图书馆应该可以在这里提供帮助。
#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"
July 20, 1969应该是星期天:
> (day-month-year->weekday 20 7 1969)
"sunday"
答案 1 :(得分:1)
Zeller's congruence是您想要查看的算法。将算法从数学转换为Racket代码应该相当简单。
旁注:在询问StackOverflow时,有助于提出更具体的问题,并将其作为一个问题。它也可以帮助陈述你已经尝试过的东西。