在android中将时间戳转换为当前日期

新手上路,请多包涵

我在显示日期时遇到问题,我得到的时间戳为 1379487711,但据此实际时间为 9/18/2013 12:31:51 PM 但它显示的时间为 17-41-1970。如何显示为当前时间。

为了显示时间,我使用了以下方法:

 private String getDate(long milliSeconds) {
    // Create a DateFormatter object for displaying date in specified
    // format.
    SimpleDateFormat formatter = new SimpleDateFormat("dd-mm-yyyy");
    // Create a calendar object that will convert the date and time value in
    // milliseconds to date.
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis((int) milliSeconds);
    return formatter.format(calendar.getTime());
}

原文由 jkk 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答
private String getDate(long time) {
    Calendar cal = Calendar.getInstance(Locale.ENGLISH);
    cal.setTimeInMillis(time * 1000);
    String date = DateFormat.format("dd-MM-yyyy", cal).toString();
    return date;
}

请注意,我将时间放在 setTimeInMillis 中,与 int 一样长,而不是 int,请注意我的日期格式是 MM 而不是 mm( mm 是分钟,而不是月份,这就是为什么您的值是“41”,而月份应该是)

对于 Kotlin 用户:

 fun getDate(timestamp: Long) :String {
   val calendar = Calendar.getInstance(Locale.ENGLISH)
   calendar.timeInMillis = timestamp * 1000L
   val date = DateFormat.format("dd-MM-yyyy",calendar).toString()
   return date
}

不可删除的评论: 亲爱的试图编辑这篇文章的人- 我认为完全改变答案的内容是违反本网站的行为规则的。请以后不要这样做。 -莉娜布鲁

原文由 Lena Bru 发布,翻译遵循 CC BY-SA 4.0 许可协议

用于将时间戳转换为当前时间

Calendar calendar = Calendar.getInstance();
TimeZone tz = TimeZone.getDefault();
calendar.add(Calendar.MILLISECOND, tz.getOffset(calendar.getTimeInMillis()));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
java.util.Date currenTimeZone=new java.util.Date((long)1379487711*1000);
Toast.makeText(TimeStampChkActivity.this, sdf.format(currenTimeZone), Toast.LENGTH_SHORT).show();

原文由 Kaushik 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题