Instant.now()\n .toString()\n
Run Code Online (Sandbox Code Playgroud)\n\n\n\n\n2017-01-23T12:34:56.123456789Z
\n
通常最好将数据交换为 UTC (GMT) 格式的日期时间值。让接收器调整到所需的时区。
\n\nInstant
该类Instant
表示 UTC 时间线上的一个时刻,分辨率为纳秒。
Instant instant = Instant.now() ;\nString output = instant.toString() ; // Generate a String in standard ISO 8601 format.\n
Run Code Online (Sandbox Code Playgroud)\n\n\n\n\n2017-01-23T12:34:56.123456789Z
\n
您可以轻松解析该字符串。
\n\nInstant instant = Instant.parse( "2017-01-23T12:34:56.123456789Z" ) ; \n
Run Code Online (Sandbox Code Playgroud)\n\nISO 8601标准为日期时间值的文本表示定义了清晰、易读、易解析的格式。这些格式非常适合数据交换。
\n\n对于 UTC 来说,这意味着上面示例中看到的格式。将T
日期部分与一天中的时间部分分开。末尾Z
的 是Zulu
UTC 的缩写。
该问题提到了语言环境,好像与时区相关。A与时区无关Locale
。A指定 (a) 用于翻译日名、月名等的人类语言,以及 (b) 决定缩写、大写、标点符号等问题的文化规范。Locale
时区是区域\xe2\x80\x99s与 UTC 的偏移量的更改历史记录,跟踪导致这些更改的异常,例如夏令时 (DST)。
\n\n搜索 Stack Overflow 以了解更多信息。这已经被报道了数百次了。搜索诸如ZoneId
、ZoneOffset
、ZonedDateTime
、Instant
、OffsetDateTime
和 之类的类DateTimeFormatter
。阅读有关 java.time 类的Oracle 教程。
ZonedDateTime zdt = instant.atZone( ZoneId.of( "Pacific/Auckland" ) ) ;\n
Run Code Online (Sandbox Code Playgroud)\n\njava.time框架内置于 Java 8 及更高版本中。这些类取代了麻烦的旧遗留日期时间类,例如java.util.Date
, Calendar
, &SimpleDateFormat
。
Joda -Time项目现在处于维护模式,建议迁移到java.time类。
\n\n要了解更多信息,请参阅Oracle 教程。并在 Stack Overflow 上搜索许多示例和解释。规格为JSR 310。
\n\n您可以直接与数据库交换java.time对象。使用与JDBC 4.2或更高版本兼容的JDBC 驱动程序。不需要字符串,不需要java.sql.*
类。
从哪里获取 java.time 类?
\n\nThreeTen -Extra项目通过附加类扩展了 java.time。该项目是 java.time 未来可能添加的内容的试验场。您可能会在这里找到一些有用的类,例如Interval
、、等YearWeek
YearQuarter
。
使用 java.util.Date 的 getTime 方法获取时间戳。将其转换回日期后,每个接收器都可以使用其本地时区显示它。
记住那个日期
表示时间上的特定瞬间,精度为毫秒。
toString 方法只是以特定方式格式化它:
dow mon dd hh:mm:ss zzz yyyy
Run Code Online (Sandbox Code Playgroud)
选择发送时间戳意味着您还使用更少的带宽。
归档时间: |
|
查看次数: |
29205 次 |
最近记录: |