如何得到当前的日期时间在安卓毫秒

我试图保存我的文件名为当前日期和时间的毫秒。在阅读文件的时候,我想要阅读最新的一个。这是密码

 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;
301860 次浏览

问题是,System. currentTimeMillis();返回从1970-01-01 T00: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");

试试这个

  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");
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
int mSec = calendar.get(Calendar.MILLISECOND);

我认为应该使用 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

如果对毫秒值有任何疑问,请检查 给你

编辑 : 时区我用来演示代码 IST (+ 05:30) ,所以如果你检查 与日志中的时间相匹配日志中提到的 milliseconds,你可能会得到一个不同的值基于你的系统时区

编辑 : 这是一种简单的方法。但如果你需要时区或任何其他细节,我认为这是不够的 另请参阅使用 android api 支持的这种方法