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

时间:2013-03-10 13:30:57

标签: java unix-timestamp

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

任何指针都非常感激:)

3 个答案:

答案 0 :(得分: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 :(得分: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,了解有关使用哪种格式字符串的信息。

答案 2 :(得分: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();