>我正在尝试将字符串解析为 Date,我只需要在下面找到此类日期的模式:
2016-09-07T02:03:30.000+03:00
我在这里查看了所有模式。我尝试了这个"2001-07-04T12:08:56.235-07:00",但它没有用。当我尝试从控制台进行调试时(因为我正在为软件制作插件,因此没有机会仅单击运行按钮即可运行代码(,它没有给出错误。
我用这段代码来解析:
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
Date date1 = format.parse(startTimeList.get(1));
所以有人知道这个模式吗?
多谢
Java 8 way:如果你不想使用任何像 joda time 这样的外部库,你可以这样做:
import java.time.Instant;
import java.util.Date;
public class DateParse {
public static void main(String[] args){
Instant instant = Instant.parse( "2016-11-01T16:51:35.000Z" );
Date newDate = Date.from(instant);
System.out.print(newDate);
}
}
我的输出是:
Tue Nov 01 22:21:35 IST 2016
Process finished with exit code 0
注意:导入即时课程时要小心,因为 Joda-time 也提供即时课程。
使用 Joda-Time,这是一个受欢迎的库,就像魅力一样。
要遵循的步骤:
-
将Jodatime添加到您的项目中。这里下载乔达时间
2.添加以下代码。String date = "2016-09-07T02:03:30.000+03:00"; DateTime dt = new DateTime( date) ; System.out.print(dt.toDate());
我的输出:
周三 9月 07 04:33:30 IST 2016