Date 有Haskell的约会图书馆吗?

Date 有Haskell的约会图书馆吗?,date,haskell,Date,Haskell,Haskell中是否有一个函数允许我输入日期的组成部分(如字符串表示或日-月-年组成部分),我可以从中获取信息(如星期几、一个月的天数等) 我在网上看了看,好像有很多自定义库,但我希望在ghci 10.6.4的标准prelude库中有一个没有很好的文档记录?一个快速的谷歌搜索出现了,这可能是你想要的。它允许您解析表示日期的字符串并从中提取信息。是否足够 您可以解析日期的字符串表示形式,并使用gregorianMonthLength获取月份长度。不确定一周中的哪一天,但您可以使用仅显示一周日期的格

Haskell中是否有一个函数允许我输入日期的组成部分(如字符串表示或日-月-年组成部分),我可以从中获取信息(如星期几、一个月的天数等)


我在网上看了看,好像有很多自定义库,但我希望在ghci 10.6.4的标准prelude库中有一个没有很好的文档记录?

一个快速的谷歌搜索出现了,这可能是你想要的。它允许您解析表示日期的字符串并从中提取信息。

是否足够


您可以解析日期的字符串表示形式,并使用
gregorianMonthLength
获取月份长度。不确定一周中的哪一天,但您可以使用仅显示一周日期的格式将日期格式化为字符串。

您可以使用
mondayStartWeek
sundayStartWeek
查找一周中的哪一天,具体取决于您认为一周是从周一开始还是从周日开始。这两个函数都位于
Data.Time.Calendar.OrdinalDate

λ> snd $ mondayStartWeek $ fromGregorian 2017 10 3
2
在上面的示例中,返回值为
2
,表示一周中的第二天。由于函数名为
mondayStartWeek
,周一是第一天,因此
2
对应于周二。2017年10月3日也是如此

关于周数的警告 这两个函数都返回一个元组,其中第二个元素是星期。据我所知,这应该是值得信赖的


然而,第一个元素是一年中的周数。注意这一点,因为周编号规则是政治性的。如果我没记错的话,在美国,第一周是包含1月1日的一周。我住的丹麦不是这样的。在这里,第一周是新的一年中星期四的第一周。这意味着12月31日可能会在明年的第一周到来。IIRC,这是许多其他欧洲国家的规则。有些年,美国和欧洲周刊的数字是一致的,但有些年,它们是不一致的。

我希望在标准图书馆中有一些东西,这样我就不必确保最终用户会有特定的外部图书馆:)你有什么样的最终用户?Haskell库不像python/perl/ruby很晚才绑定,所以如果你编译代码,你应该是一个可靠的a.out我看过日历,但我想我没有研究我需要的大部分信息的格式:)谢谢!(…noob显然是haskell的新手):我正在使用GHC。我在我的机器上任何地方都找不到时间模块。在谷歌上搜索它并不能让我找到它居住的地方。我很困惑。这是标准GHCI区的一部分吗?如果是,模块会在哪里?如果不是,我可以从哪里获得模块?这是我发现的最好的,但是图书馆需要一些改进。查看我对OP问题的评论。我仍然找不到函数:
dayOfWeek::SomeDateType->WeekDayType
。示例:
dayOfWeek(从Gregorian 2014 7 15){-evals到周二-}