如何获取特定字符串格式的全日期日期

时间:2018-05-30 11:14:33

标签: android datetime

我的API包含此格式的字符串日期" /日期(1527677209864)/",如何获取在Android应用中使用的日期和时间

5 个答案:

答案 0 :(得分:0)

我假设1527677209864的值是一个时间戳,对吗? 试试这个功能:

UserDto

如果您正在寻找,请告诉我。

答案 1 :(得分:0)

删除前缀/Date(和后缀)/。使用结果初始化java.util.Date

String dt = "/Date(1527677209864)/";
dt = dt.substring(6, dt.indexOf(")/"));
long timestamp = Long.parseLong(dt);
Date date = new Date(timestamp);

使用SimpleDateFormat将此日期格式化为您所需的格式。

答案 2 :(得分:0)

您可以将Date与纪元号一起用作构造函数中的参数。

首先,您必须从字符串中删除/Date()/,这可以使用正则表达式。

Pattern pattern = Pattern.compile("\\D+([0-9]+)\\D+");
Matcher matcher = pattern.matcher("/Date(1527677209864)/");

if (matcher.matches()) {
   long timestamp = Long.parseLong(matcher.group(1));
   Date actualDate = new Date(timestamp);
}

答案 3 :(得分:0)

我们必须从字符串中过滤timeInMillis值并将其转换为long,以便我们可以在calendar中使用或设置它并获取date对象。

Date convertToDate(String input) {

    // input = "/Date(1527677209864)/";

    String timeString = input.substring(6, input.length() - 2);

    Long time = Long.parseLong(timeString);
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(time);
    return calendar.getTime();
}

然后我们可以根据我们想要的模式或格式将日期对象格式化为字符串。

String convertDateToString(Date date, String pattern) {
    SimpleDateFormat formatter = new SimpleDateFormat(pattern);
    return formatter.format(date);
}

答案 4 :(得分:0)

试试这个

String jsonDate = "/Date(1527677209864)/";
        jsonDate = jsonDate.substring(6, 13);
        int unix_timestamp = Integer.parseInt(jsonDate);
        Date date = new Date(unix_timestamp);