【问题标题】:How to convert date/time string into minutes since Unix epoch?自 Unix 纪元以来,如何将日期/时间字符串转换为分钟?
【发布时间】:2011-02-20 17:01:19
【问题描述】:

我需要将文本文件中的日期/时间转换为自 unix 纪元(即 1970 年 1 月 1 日)以来经过的分钟数:

e.g. 2006-01-01 07:14:38.000 into 18934874

我正在使用 Java 来解析文件。 谢谢

【问题讨论】:

  • 分钟,你确定吗? 3 249 834 224 378 分钟 = 6 178 993.91 年。您可能指的是毫秒,尽管您问题中的示例即使在那时也不太正确。
  • (时间戳,自纪元以来的毫秒数,对应于 2006-01-01 大约为 1136092440000。以分钟为单位约为 18934874。)
  • @Jonik 正确,抱歉号码有误

标签: java date


【解决方案1】:

您可以使用类 SimpleDateFormat 来解析时间。例如

SimpleDateFormat sdf  = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS");
Date date = sdf.parse("2006-01-01 07:14:38.000");
long timeInMillisSinceEpoch = date.getTime(); 
long timeInMinutesSinceEpoch = timeInMillisSinceEpoch / TimeUnit.MILLISECONDS.toMinutes(timeInMillisSinceEpoch);

免责声明

1) 几分钟前,我意识到我在毫秒内使用了错误的模式(使用“s”而不是“S”)。对不起这个错误。 2) 添加来自@superfav 的建议

【讨论】:

  • 从Java 5开始,您可以使用TimeUnit.MILLISECONDS.toMinutes(timeInMillisSinceEpoch);来避免幻数
猜你喜欢
  • 2021-12-18
  • 2019-08-21
  • 1970-01-01
  • 2017-11-10
  • 2012-04-03
  • 2018-02-18
  • 2017-07-23
  • 2013-08-25
  • 2018-08-07
相关资源
最近更新 更多