我正在尝试获取今天日期的纪元时间。但在格式化日期时遇到了 ParseException
问题。
fragment :-
SimpleDateFormat df = new SimpleDateFormat("dd/mm/yyyy");
String str = df.format(Calendar.getInstance().getTime());
Date date = df.parse(str);
long epoch = date.getTime();
Log.i("Epoch" , String,valueOf(epoch));
如何获得今天的纪元时间?
最佳答案
如果您只对自 1970 年 1 月 1 日 UTC 以来的当前时间(以毫秒为单位)感兴趣,请使用 System.currentTimeMillis()
see javadoc 。在此过程中无需格式化和解析字符串。
要从中获取 unix 纪元时间戳,请将其除以 1000 将其转换为秒。
根据评论和您自己的回答,您似乎对某个时区的纪元时间戳感兴趣。使用 Calendar
即可,无需在此处格式化和解析字符串:
Calendar c = Calendar.getInstance(); // today
c.setTimeZone(TimeZone.getTimeZone("UTC")); // comment out for local system current timezone
c.set(Calendar.HOUR, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
c.set(Calendar.AM_PM, Calendar.AM);
long millistamp = c.getTimeInMillis();
long unixstamp = millistamp / 1000;
关于java - 今天的纪元时间与当前时间无关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22221881/