【问题标题】:Android Date Format Conversion from millis to date and time [duplicate]从毫秒到日期和时间的Android日期格式转换[重复]
【发布时间】:2017-06-05 00:38:59
【问题描述】:

我正在使用 volley 库构建阳光应用程序。我成功解析数据,但无法格式化日期。我以毫秒为单位从 api 获取日期。我使用阳光的原始代码方法来格式化日期,但仍将日期设为 1970 年 1 月 18 日。 JSON字段dt:1484856000 我想将它转换为原始日期,然后像今天,明天这样的字符串。

【问题讨论】:

  • 这看起来像秒而不是毫秒,所以乘以 1000。然后使用 SimpleDateFormat 格式化为所需的格式

标签: java android datetime


【解决方案1】:

查看http://developer.android.com/reference/java/text/DateFormat.html

public String getFormattedDate(Context context, long smsTimeInMilis) {
Calendar smsTime = Calendar.getInstance();
smsTime.setTimeInMillis(smsTimeInMilis);

Calendar now = Calendar.getInstance();

final String timeFormatString = "h:mm aa";
final String dateTimeFormatString = "EEEE, MMMM d, h:mm aa";
final long HOURS = 60 * 60 * 60;
if (now.get(Calendar.DATE) == smsTime.get(Calendar.DATE) ) {
    return "Today " + DateFormat.format(timeFormatString, smsTime);
} else if (now.get(Calendar.DATE) - smsTime.get(Calendar.DATE) == 1  ){
    return "Yesterday " + DateFormat.format(timeFormatString, smsTime);
} else if (now.get(Calendar.YEAR) == smsTime.get(Calendar.YEAR)) {
    return DateFormat.format(dateTimeFormatString, smsTime).toString();
} else {
    return DateFormat.format("MMMM dd yyyy, h:mm aa", smsTime).toString();
}

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多