在Haskell中,是否有一个函数可以让我输入日期的组成部分(比如字符串表示或年月日组件),以便获取信息(比如星期几、一个月中的天数等)?
我在网上搜索过,看起来有很多自定义库,但我希望能在ghci 10.6.4的标准预加载库中找到一个函数,只是它没有被很好地记录下来。
你是否认为Data.Time.Calendar和Data.Time.Format在时间库中已经足够了?
你可以使用gregorianMonthLength
解析日期的字符串表示,并获取月份的长度。不过,对于一周中的某一天,我不确定,但你可以使用只显示星期几的格式将日期格式化为字符串。
Data.Time.Calendar.OrdinalDate
中的mondayStartWeek
或sundayStartWeek
来查找一周的日期,具体取决于您认为一周是从星期一开始还是从星期日开始。请注意,两个函数都需要保留HTML标记。λ> snd $ mondayStartWeek $ fromGregorian 2017 10 3
2
2
,表示星期二。由于函数名为mondayStartWeek
,因此星期一是第一天,所以2
对应于星期二。这适用于2017年10月3日。
dayOfWeek :: SomeDateType -> WeekDayType
**。 - recursion.ninja