使用SimpleDateFormat将时间转换为毫秒

时间:2016-11-14 20:09:08

标签: java

我正在尝试编写一个实用程序函数,它将接受日期,时间戳,额外的毫秒转换为时间戳,并以毫秒为单位返回时间。但是,我得到了一个解析异常。

示例参数:

dateJson: 14.11.2016

timestampJson: 21:04:20

millisecsJson: 244

public static long convertToMillisecs(String dateJson, String timestampJson, String millisecsJson) throws ParseException {

    SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy'T'HH:mm:ss.SSS");
    sdf.setTimeZone(TimeZone.getTimeZone("UTC"));

    String inputString = timestampJson + "." + millisecsJson; 
    Date date = sdf.parse(dateJson + 'T' + inputString);

    return date.getTime();
}

需要更改以获得正确的可解析日期。需要注意的是,我使用的是24小时制,我在德国工作,所以在那种情况下使用UTC是好的吗?

1 个答案:

答案 0 :(得分:0)

14.11.2016与dd-MM-yyyy不匹配。

不,德国不在UTC时区。使用欧洲/柏林。