在java中将数字转换为日期

时间:2015-03-03 10:01:39

标签: java parsing date

我与服务器通信,我得到了这种类型的JSON响应:

WeekEndingDate=/Date(1428638400000-0400)/

从日期获取此号码背后的功能是:

function ParseJSONDate(value) {
   return JSON.parseWithDate(JSON.stringify(value)).format("mm/dd/yyyy");
}

我的问题是:如何以该值mm/dd/yyyy的格式(/Date(1428638400000-0400)/)取回日期?

3 个答案:

答案 0 :(得分:2)

如果我没有弄错字符串" 1428638400000-0400"代表两个信息:

  • 1428638400000:毫秒数
  • 0400:小时

所以在用' - '分裂之后。您可以使用以下命令创建日期:

Date d = new Date ("1428638400000");

之后,您可以使用DateFormat打印它。 希望这个帮助

答案 1 :(得分:1)

您可以使用SimpleDateFormat$parse()方法获取Date对象,然后使用所需格式重新格式化。解析格式的格式为:

  • ssssssssss(10' s'):以秒为单位的日期时间
  • SSS:毫秒
  • Z:时区,即" -0400"在示例中。

String input = "1428638400000-0400";
SimpleDateFormat inputFormat = new SimpleDateFormat("ssssssssssSSSZ");
Date myDate = inputFormat.parse(input);

SimpleDateFormat outputFormat = new SimpleDateFormat("MM/dd/yyyy");
String myDateAsString = outputFormat.format(myDate);
System.out.println(myDateAsString);

=> 04/10/2015

答案 2 :(得分:-2)

请尝试以下代码...

public static Date convertMillisecondsTodate(int givenMilliseconds) {
    String convertedMilliSeconds = Integer.toString(givenMilliseconds)
            .concat("000");

    /* DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); */

    long milliSeconds = Long.parseLong(convertedMilliSeconds);

    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(milliSeconds);
    Date date = new Date(milliSeconds);

    return date;

}