我正在尝试使用名称保存我的文件作为当前日期和时间(以毫秒为单位)。在阅读文件时,我想阅读最新的文件。这是代码
Calendar rightNow = Calendar.getInstance();
long offset = rightNow.get(Calendar.ZONE_OFFSET) + rightNow.get(Calendar.DST_OFFSET);
String sinceMidnight = Long.toString((rightNow.getTimeInMillis() + offset) % (24 * 60 * 60 * 1000));
return sinceMidnight+"_"+Filename;
答案 0 :(得分:250)
我认为使用Java
来利用此功能long time= System.currentTimeMillis();
这将以毫秒模式返回当前时间。这肯定会有用
long time= System.currentTimeMillis();
android.util.Log.i("Time Class ", " Time value in millisecinds "+time);
这是我的logcat使用上面的函数
05-13 14:38:03.149: INFO/Time Class(301): Time value in millisecinds 1368436083157
如果您对毫秒值有任何疑问。请查看Here
编辑:时区我用来演示代码IST(+05:30),所以如果你检查日志中提到的milliseconds
以匹配日志中的时间您可能会根据系统时区获得不同的值
编辑:这是一种简单的方法。但如果您需要时区或任何其他细节,我认为这还不够 Also See this approach using android api support
答案 1 :(得分:21)
问题是System. currentTimeMillis();
返回1970-01-01T00:00:00Z的毫秒数,但new Date()
给出了当前的本地时间。从Calendar类添加 ZONE_OFFSET和DST_OFFSET 会为您提供UTC时间。
Calendar rightNow = Calendar.getInstance();
// offset to add since we're not UTC
long offset = rightNow.get(Calendar.ZONE_OFFSET) +
rightNow.get(Calendar.DST_OFFSET);
long sinceMidnight = (rightNow.getTimeInMillis() + offset) %
(24 * 60 * 60 * 1000);
System.out.println(sinceMidnight + " milliseconds since midnight");
答案 2 :(得分:1)
试试这个
Calendar c = Calendar.getInstance();
int mseconds = c.get(Calendar.MILLISECOND)
另一种选择是
Calendar rightNow = Calendar.getInstance();
long offset = rightNow.get(Calendar.ZONE_OFFSET) +
rightNow.get(Calendar.DST_OFFSET);
long sinceMid = (rightNow.getTimeInMils() + offset) %
(24 * 60 * 60 * 1000);
System.out.println(sinceMid + " milliseconds since midnight");
答案 3 :(得分:0)
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
int mSec = calendar.get(Calendar.MILLISECOND);