我的javascript时间戳是这样的:
2013-08-11T19:13:20.000Z
我需要将其转换为Java.Date格式,以便我可以进行冒泡排序,以确定哪个是数据库中最旧的元素,这是最新的元素。我该怎么做呢?
我的服务器中有一个PostgresDb,使用Javascript为我提供带有此时间戳的数据。在我的Android手机上,我不仅需要显示新数据,还需要显示旧数据,具体取决于用户滚动的方式。将根据用户的需要检索两个数据。现在,每当用户调用新数据时,数据首先被添加到Android中的SQLite DB,然后从那里获取以进行显示。
事物是任何“新”数据,无论其时间戳是否将按顺序存储。但我需要根据时间顺序展示。因此问题。
答案 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");
答案 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可能就是您正在寻找的。 p>