Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.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
Java 使用什么系统默认日期格式?_Java_Datetime_Standards_Datetime Format_Datetime Parsing - Fatal编程技术网

Java 使用什么系统默认日期格式?

Java 使用什么系统默认日期格式?,java,datetime,standards,datetime-format,datetime-parsing,Java,Datetime,Standards,Datetime Format,Datetime Parsing,我正在为我们的应用程序设定标准 我一直在想,我应该选择什么样的默认日期格式 应该是: 国际化和时区意识,格式应该能够表示用户本地时间 可以通过SimpleDataFormat(或类似的,仅限jdk类)高效地解析 程序语言不可知(可以用java解析,Python,上帝禁止C++:)和 最好是基于ISO或其他公认标准 易于通过HTTP进行通信(如果需要,可以使用JSON或YAML或类似的方式) 可以表示低至秒的时间分辨率(越精确越好,如果可能,微秒) 可读性强,但不是必需的 紧凑型优先,但不是必需

我正在为我们的应用程序设定标准

我一直在想,我应该选择什么样的默认日期格式

应该是:

  • 国际化和时区意识,格式应该能够表示用户本地时间
  • 可以通过SimpleDataFormat(或类似的,仅限jdk类)高效地解析
  • 程序语言不可知(可以用java解析,Python,上帝禁止C++:)和
  • 最好是基于ISO或其他公认标准
  • 易于通过HTTP进行通信(如果需要,可以使用JSON或YAML或类似的方式)
  • 可以表示低至秒的时间分辨率(越精确越好,如果可能,微秒)
  • 可读性强,但不是必需的
  • 紧凑型优先,但不是必需的
谢谢你,

格言。

最规范和标准的形式可能是:自1970年1月1日协调世界时(UTC)午夜以来经过的秒数

如果将其设置为默认时间格式,则可以轻松地解析它、将其存储在内存中、将其写入磁盘、轻松地通过HTTP进行通信等等。这也是一个公认的标准,从某种意义上说,它是“时区意识”,因为它是明确定义的,无论时区如何

(这是我始终存储所有时间戳的格式;在数据库、内存、磁盘等中)

yyyy-MM-ddThh:mmZ(请参阅)您可以添加秒等

您可以很容易地阅读它,对于SimpleDataFormat来说这不会是一个问题。

正确的默认格式实际上取决于您对它所做的操作。解析、存储和显示的格式都可以不同

对于存储日期,您(几乎)总是希望使用UTC,正如aioobe所说的,即使您希望在用户本地时间中显示它。我说“(几乎)”但我真的想不出有哪种情况我不希望UTC保存日期。您可能还希望存储日期来源地的TZ信息,以便可以在该本地时间报告,但更常见的情况是,您希望显示当前查看日期的人员的本地时间。这意味着无论原始本地时间是什么,都可以确定当前用户的本地时间

要显示它,“默认格式”通常应由查看器区域设置决定。在美国,08/09/10通常指2010-8-9,但在世界大部分地区通常指2010-9-8。ISO-8601格式的“2010-09-10”是安全和明确的,但通常不是人们期望看到的。您还可以在internet上查找日期和时间以及消息格式(传输日期)

对于解析日期,您需要对其进行解析并将其转换为UTC,但在接受什么方面应该相当灵活。同样,最终用户的区域设置和时区(如果可以发现)可以帮助您确定接受何种字符串格式作为输入。这是假设用户类型的字符串。如果您正在生成一个日期/时间戳,那么您可以控制表单,解析也不会有问题


我还有第二个我以前没有见过的,现在喜欢的。相关:是的,但我希望能够表示用户本地时间。所以我必须在格式中包含时区。我将更新问题,以代表这一点。