将数字转换为 java 中的日期

Convert number to date in java

我与服务器通信并收到这种类型的 JSON 响应:

WeekEndingDate=/Date(1428638400000-0400)/

从日期获取此数字的函数是:

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

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

如果我没记错的话字符串“1428638400000-0400”代表两个信息:

  • 1428638400000:毫秒数
  • 0400:小时

所以在用'-'分割之后。您可以创建一个日期:

Date d = new Date ("1428638400000");

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

试试下面的代码...

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;

}

您可以使用 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