如何将Javascript中的日期转换为Java日期?

时间:2013-08-12 13:05:23

标签: java javascript datetime

我的javascript时间戳是这样的:

 2013-08-11T19:13:20.000Z

我需要将其转换为Java.Date格式,以便我可以进行冒泡排序,以确定哪个是数据库中最旧的元素,这是最新的元素。我该怎么做呢?

我的服务器中有一个PostgresDb,使用Javascript为我提供带有此时间戳的数据。在我的Android手机上,我不仅需要显示新数据,还需要显示旧数据,具体取决于用户滚动的方式。将根据用户的需要检索两个数据。现在,每当用户调用新数据时,数据首先被添加到Android中的SQLite DB,然后从那里获取以进行显示。

事物是任何“新”数据,无论其时间戳是否将按顺序存储。但我需要根据时间顺序展示。因此问题。

5 个答案:

答案 0 :(得分:4)

SimpleDateFormat format = new SimpleDateFormat(
            "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.US);
format.setTimeZone(TimeZone.getTimeZone("UTC"));

Date date = format.parse("2013-08-11T19:13:20.000Z");

enter image description here

答案 1 :(得分:1)

如果它是有效的格式字符串,则将其作为参数传递给date对象,然后使用getTime获取时间戳,您可以将其传递给java代码以转换为java date。

var tDate = new Date("2013-08-11T19:13:20.000Z");
alert(tDate.getTime());

或者您可以直接将字符串传递给Java代码并在那里进行所有转换。

答案 2 :(得分:1)

我认为这是解析此日期的最佳方法

javax.xml.bind.DatatypeConverter.parseDateTime("2013-08-11T19:13:20.000Z");

此解析器专门用于解析此日期格式,应该非常高效

答案 3 :(得分:1)

  

我需要将其转换为Java.Date格式,以便我可以进行冒泡排序,以确定哪个是数据库中最旧的元素,这是最新的元素

你真的不需要那个。如果您将日期存储在数据库中,则可以在查询中订购数据:

SELECT yourFields FROM yourTable ORDER BY yourDate DESC

然后使用java,您可以使用

yourResultSet.first();

将光标移动到第一个元素(最新的元素)和

yourResultSet.last();

将光标移动到最后一个元素(最旧的元素)

答案 4 :(得分:0)

Joda-Time是一个很棒的库或处理Java时间API的所有瑕疵,而ISODateTimeFormat可能就是您正在寻找的。