这种日期的模式是什么?

时间:2017-08-09 10:59:33

标签: java

我正在尝试将字符串解析为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));

所以谁知道这种模式?

非常感谢

2 个答案:

答案 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,它是一个受欢迎的图书馆,其功能与魅力相似 要遵循的步骤:

  1. 将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());
    

  2. 我的输出:
    Wed Sep 07 04:33:30 IST 2016