此值1522899000000是什么时间戳格式? ionic或AngularJS。如何在Java中使用它 - javascript

我正在从第三方URL读取JSON。在那个JSON数据中,我找到了这个时间戳记开始时间:1522899000000(在4/5/2018-> 2018年4月5日)...我以为是Unix时间戳记并尝试进行转换,但它说是1912年:-)。这是什么时间戳?我正在从Java应用程序读取此JSON。如何将其转换为Java日期时间?

参考方案

tl; dr

显然,1522899000000是自epoch reference的1970-01-01T00:00:00Z,即UTC 1970年的第一刻以来的毫秒数。

Instant.ofEpochMilli( 1_522_899_000_000L )

2018-04-05T03:30:00Z

java.time

现代方法使用java.time类代替了麻烦的旧旧类(DateCalendarSimpleDateFormat)。

自1970年1月1日T00:00Z以来,您的输入似乎是毫秒数。有时称为Unix time,尽管不是绝对的。

Instant

因此解析为InstantInstant类代表UTC在时间轴上的时刻,分辨率为nanoseconds(十进制小数的九(9)位)。

long input = 1_522_899_000_000L ;
Instant instant = Instant.ofEpochMilli( input );

Instant.toString():2018-04-05T03:30:00Z

如果您输入的是文本,请使用Long.parse解析为数字。

long input = Long.parseLong( "1522899000000" ) ;
Instant instant = Instant.ofEpochMilli( input );

ZonedDateTime

根据定义,Instant始终为UTC。如果要在特定区域(时区)的人所使用的挂钟时间中看到同一时刻,请应用ZoneId以获取ZonedDateTime对象。

continent/region的格式指定proper time zone name,例如America/MontrealAfrica/CasablancaPacific/Auckland。切勿使用3-4个字母的伪区域(例如ESTIST),因为它们不是真实的时区,不是标准化的,甚至不是唯一的(!)。

ZoneId z = ZoneId.of( "Pacific/Auckland" ) ;
ZonedDateTime zdt = instant.atZone( z ) ;

zdt.toString():2018-04-05T15:30 + 12:00 [太平洋/奥克兰]

DateTimeFormatter

上面生成的字符串为标准ISO 8601格式。对于其他格式,请在Stack Overflow中搜索DateTimeFormatter类。

关于java.time

java.time框架内置于Java 8及更高版本中。这些类取代了麻烦的旧legacy日期时间类,例如java.util.DateCalendarSimpleDateFormat

现在位于Joda-Time中的maintenance mode项目建议迁移到java.time类。

要了解更多信息,请参见Oracle Tutorial。并在Stack Overflow中搜索许多示例和说明。规格为JSR 310。

您可以直接与数据库交换java.time对象。使用与JDBC driver或更高版本兼容的JDBC 4.2。不需要字符串,不需要java.sql.*类。

在哪里获取java.time类?

Java SE 8Java SE 9和更高版本

内置的
标准Java API的一部分,具有捆绑的实现。
Java 9添加了一些次要功能和修复。

Java SE 6Java SE 7

ThreeTen-Backport中的大部分java.time功能都已反向移植到Java 6和7。

Android

更高版本的Android捆绑了java.time类的实现。
对于早期的Android(<26),ThreeTenABP项目改编了ThreeTen-Backport(如上所述)。请参见How to use ThreeTenABP…

ThreeTen-Extra项目使用其他类扩展了java.time。该项目为将来可能在java.time中添加内容提供了一个试验场。您可能会在这里找到一些有用的类,例如IntervalYearWeekYearQuarter和more。

Javascript和Python JSON-未定义变量 - javascript

例如,如果您具有以下JSON对象(删除python的分号):values = { a: 1, b: { c: 2, d: { e: 3 } }, f: 4, g: 5 }; 如果您尝试在JS中打印values,它将正常工作。但是在Python中,它将返回错误NameError: name 'a' is not defined,这意味着未定…

PHP json_encode数组到javascript关联数组 - javascript

我有一些从PHP中读取的mysqli列。它正在完美地获取和回显。$results = mysqli_fetch_assoc(mysqli_query($conn, $querystring)); echo json_encode($results); //$results = {"title":"Sea Shells"…

Javascript-从当前网址中删除查询字符串 - javascript

单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…

在js内的php上调试var - javascript

我有一个脚本(editablegrid)在js文件(JSON)(demo.js)内加载一个php文件(loaddata.php)。当我对php文件发出js警报时:echo '<script language="javascript">'; echo 'alert("message suc…

如何在PHP中将json转换为人类可读 - javascript

我是新的!请对我放松。我有一个PHP文件,该文件在运行时会发送电子邮件。电子邮件的内容是一个长json字符串,但是例如,可以说它是一个短字符串,如下所示:{ "firstName": "Jon", "lastName": "Ryan" } 该字符串保存在名为$ json_resp…