如何将“YYYY-MM-DD hh:mm:ss”转换为Java中的UNIX时间戳?

问题描述 投票:0回答:3

或者,也许你知道如何解决这个问题的更好方法。我以“YYYY-MM-DD HH:MM:SS”的格式获取日期,需要计算现在之间的时间差,然后以近似的增量:1分钟前,1小时前等。

任何指针非常赞赏:)

java unix-timestamp
3个回答
3
投票

看看SimpleDateFormat

您可以定义模式并将其解析为Java Date Object:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse("your string goes here");
long timestamp = date.getTime();

第一行定义了SimpleDateFormat(如果你重复使用它也可以是静态的)第二行解析你的输入第三行将它转换为毫秒。


1
投票

首先,您需要将日期字符串解析为Date,然后从中获取时间戳:

final SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");

final String myDateString = "someDateString";
final Date date = dateFormat.parse(myDateString);

final long timestamp = date.getTime();

有关要使用的格式字符串的信息,请查看SimpleDateFormat javadocs。


0
投票

您需要在SimpleDateFormat的帮助下将您的字符串转换为java.util.Date(例如参见 - https://stackoverflow.com/search?q=simpledateformat+%5Bjava%5D),然后获取自1970年1月1日00:00:00 GMT以来的毫秒数。

Date dt = new Date();
long unixTimeStamp = dt.getTime();
© www.soinside.com 2019 - 2024. All rights reserved.