【发布时间】:2013-12-27 12:14:53
【问题描述】:
我有这个字符串,我想将它转换为日期格式,例如 2013-06-06
"/Date(1370257470183+0530)/"
如果有人有想法,如何以编程方式执行此操作,请帮助我
问候。
【问题讨论】:
-
+ 表示什么?
-
我认为 +0530 表示格林威治标准时间
-
见here
我有这个字符串,我想将它转换为日期格式,例如 2013-06-06
"/Date(1370257470183+0530)/"
如果有人有想法,如何以编程方式执行此操作,请帮助我
问候。
【问题讨论】:
public static void main(String[] args) {
String dateString = "/Date(1370257470183+0530)/";
String longString = dateString.substring(6, dateString.indexOf('+'));
String gmtString = dateString.substring(dateString.indexOf('+'), dateString.indexOf(')'));
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
format.setTimeZone(TimeZone.getTimeZone(gmtString));
Date date = new Date(Long.parseLong(longString));
System.out.println(format.format(date));
}
SimpleDateFormat
【讨论】:
这是我编写的代码。但在此之前,您必须提取时区和毫秒时间,以便您可以创建对象。我认为你可以对字符串做一些字符串操作。
Date date = new Date(1370257470183l); // here is your time
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
formatter.setTimeZone(TimeZone.getTimeZone("GMT+0530")); // here is your timezone
String formattedDate = formatter.format(date);
System.out.println(formattedDate);
【讨论】:
您可以使用java.util.Date 类,然后使用SimpleDateFormat 来格式化日期。
Date date=new Date(millis);
参考:How to convert currentTimeMillis to a date in Java?
输入表示从纪元开始的时间(以毫秒为单位)(格林威治标准时间 1970 年 1 月 1 日) 顺便说一句,您输入的日期是 2013 年 6 月 3 日
【讨论】:
首先,您必须在字符串中搜索数值,链接在这里: Search a String for Numerics
然后你想把数值变成日期。为此使用 SimpleDateFormat”链接:Oracle SimpleDateFormat
【讨论】: