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

Max*_*ler 7 java standards datetime datetime-format datetime-parsing

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

我一直在想,我应该选择使用什么默认日期格式?

它应该是:

  • 国际化和时区意识,格式应该能够代表用户当地时间
  • 可以通过SimpleDataFormat(或类似的,仅jdk类)有效地解析
  • 编程语言不可知(可以解析java,python,上帝禁止C++ :)和co.)
  • 优选基于ISO或其他公认的标准
  • 易于通过HTTP进行通信(如果需要,JSON或YAML或此类性质的东西)
  • 可以表示时间到秒的分辨率(越精确越好,微秒如果可能).
  • 人类可读是一个加号,但不是必需的
  • 紧凑是一个加号,但不是必需的

谢谢你,
马克西姆.

jny*_*jny 8

yyyy-MM-ddThh:mmZ(参见ISO 8601)你可以添加秒等

您可以轻松阅读,对SimpleDateFormat来说不是问题.


aio*_*obe 1

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

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

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