自Unix时代以来如何将日期/时间字符串转换为分钟?

ane*_*yzm 9 java date

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

e.g. 2006-01-01 07:14:38.000 into 18934874
Run Code Online (Sandbox Code Playgroud)

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

Aug*_*sto 27

您可以使用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);
Run Code Online (Sandbox Code Playgroud)

放弃

1)几分钟前,我意识到我使用了错误的模式毫秒(用's'而不是'S').抱歉这个错误.2)添加了来自@superfav的建议

  • 从Java 5开始,你可以使用`TimeUnit.MILLISECONDS.toMinutes(timeInMillisSinceEpoch);`来避免_magic number_. (9认同)