我正在尝试将created_utc日期从Reddit的json转换为Date对象,但我不断收到"Unparceable"错误.他们的日期的一个例子是:created_utc": 1.43701862E9,我被告知是一个unix时间戳.
根据我的研究,这段代码应该转换它:
String date = "1.43701862E9";
java.util.Date time = new java.util.Date((long)date*1000);
Run Code Online (Sandbox Code Playgroud)
但显然我在将日期乘以1000时遇到错误.
这是我通常用来转换字符串日期的代码:
String date = "1.43701862E9";
Calendar cal = Calendar.getInstance(TimeZone.getDefault());
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
format.parse(date);
Run Code Online (Sandbox Code Playgroud)
这应该适合你:
public static void main(String[] args) {
String date = "1.43701862E9";
java.util.Date time = new java.util.Date(Double.valueOf(date).longValue()*1000);
System.out.println(time);
}
Run Code Online (Sandbox Code Playgroud)
输出:
Wed Jul 15 23:50:20 EDT 2015
Run Code Online (Sandbox Code Playgroud)
由于你使用科学记数法,你不能解析String使用Long类:( Long.parseLong(String s)你也不能简单地转换一个字符串,因为你正在尝试).相反,我使用了该Double.valueOf()方法并保留了Long使用方法.longValue()
| 归档时间: |
|
| 查看次数: |
830 次 |
| 最近记录: |