1

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

任何指针都非常感谢:)

4

3 回答 3

3

看看SimpleDateFormat

您可以定义您的模式并将其解析为 Java 日期对象:

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

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

于 2013-03-10T13:40:42.307 回答
1

首先,您需要将日期字符串解析为 a 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();

查看SimpleDateFormatjavadocs 以获取有关使用哪种格式字符串的信息。

于 2013-03-10T13:36:16.537 回答
0

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

Date dt = new Date();
long unixTimeStamp = dt.getTime();
于 2013-03-10T13:39:39.220 回答