Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 主要的日期时间库支持哪些值范围?_Date_Datetime_Time_Api Design - Fatal编程技术网

Date 主要的日期时间库支持哪些值范围?

Date 主要的日期时间库支持哪些值范围?,date,datetime,time,api-design,Date,Datetime,Time,Api Design,我想了解不同编程语言中典型时间库支持的内部数据表示和最早/最晚日期的概述 我记得不久前读过一个关于这方面的网页,但在谷歌搜索词进行了几十次改进后,我再也找不到了。我没有看到所有主要lib的代码来确定这一点,但我猜它们中的许多都以字段形式存储数据,其中大多数是数字,比如年、月、日、小时、分钟等 限值可以是相应数值类型的上/下限,也可以是一些人工值(例如“100万年”表示“非常遥远的未来”) 我认为这还取决于所代表的类型: 如果类型仅表示本地日期(天/月/年,不含小时,不含时区/偏移),则限制应为

我想了解不同编程语言中典型时间库支持的内部数据表示和最早/最晚日期的概述


我记得不久前读过一个关于这方面的网页,但在谷歌搜索词进行了几十次改进后,我再也找不到了。

我没有看到所有主要lib的代码来确定这一点,但我猜它们中的许多都以字段形式存储数据,其中大多数是数字,比如年、月、日、小时、分钟等

限值可以是相应数值类型的上/下限,也可以是一些人工值(例如“100万年”表示“非常遥远的未来”)

我认为这还取决于所代表的类型:

  • 如果类型仅表示本地日期(天/月/年,不含小时,不含时区/偏移),则限制应为用于存储年值的类型的上限/下限,或某些人为值
  • 如果类型表示时间戳(秒数/毫秒/自unix epoch以来API支持的秒精度),则限制可以是用于存储此值的类型的最大值,也可以是某些人为限制值
等等。但是上面的每种情况都可能给您一个不同的限制,不同类型的限制之间的一致性将取决于API

这就是你要问的吗


某些API(如Java)记录了每种类型的限制:


请注意每种类型的限制是如何不同。

根据我们的指导,“有些问题仍然是离题的,即使它们属于上面列出的类别之一:……要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题是离题的……”我猜描述不清楚,我试着重新措辞。我不想找一个非现场资源。不完全是。我熟悉一般概念和典型的历元、最小值和最大值。我想得到实际的数据,比如Java 8日期时间API的范围从
-9999999-01-01T00:00:00
+9999999-12-31T23:59:59.9999999
等等。看看上面的两个javadoc链接,注意每种类型都有不同的限制值。我只放了2个,但看看java.time包,看看所有类型及其各自的限制。在这种情况下,我同意nubz的观点,您可以通过查看API来解决这个问题,对于文档中包含此信息的LIB,对于其他LIB,唯一的方法是获取源代码。