我正在尝试将字符串解析为Date,我只需要在下面找到这种日期的模式:
2016-09-07T02:03:30.000 + 03:00
我查看了所有模式here。我试过这个“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));
所以谁知道这种模式?
非常感谢
答案 0 :(得分:0)
Java 8方式:
如果您不想使用任何外部库,如joda时间,您可以这样做:
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
注意:导入Instant时请小心,因为Joda-time也提供Instant Class。
答案 1 :(得分:-1)
使用Joda-Time,它是一个受欢迎的图书馆,其功能与魅力相似
要遵循的步骤:
将Jodatime添加到您的项目中。这里Download Joda-time
2.添加以下代码。
String date = "2016-09-07T02:03:30.000+03:00";
DateTime dt = new DateTime( date) ;
System.out.print(dt.toDate());
我的输出:
Wed Sep 07 04:33:30 IST 2016