如何在Android中显示毫秒的日期和时间?

时间:2013-01-05 17:14:56

标签: java android time milliseconds

我想显示旅行的日期。在应用程序中列出了几个行程,每个行程都具有其生成的currentTimeMillis的长值。我想将这个数字转换为日期,但输出总是在1970左右... System.currentTimeMillis()是存储行程生成时间的正确方法吗?

Date date = new Date(trip.getStartTime());  // 195342322
SimpleDateFormat test = new SimpleDateFormat("yyyy-MM-dd"); 
startTime.setText(String.valueOf(test.format(date)));

- > startTime的输出:1970-01-01

3 个答案:

答案 0 :(得分:1)

尝试使用Calendar进行简单格式化

答案 1 :(得分:0)

我们不知道如何实现trip.getStartTime(),但它返回了错误的值。 195342322是星期三,1976年3月10日21:45:22 GMT(您可以查看online

由于唯一不推荐使用的Date构造函数接受long参数,我猜你用过它。最好以数据库友好的方式存储日期(时间),例如ISO 8601.请注意,如果将它存储在SQLite数据库中的客户端上,则SQLite没有 time 类型,你必须使用 text 字段。

切换到序列化的文字表示后,您将可以使用Date

返回SimpleDateFormat.parse()

答案 2 :(得分:0)

使用类似的东西:

Calendar calendar=Calendar.getInstance();
calendar.setTimeInMillis(trip.getStartTime());
Date date =calendar.getTime ();

如图所示here