我在Android应用程序中有一个非常简单的时间戳功能。我之前有多次类似的工作,但是由于某种原因该功能无法更新。

 public class HelperFunctions {

// ..some more functions


    public static String generateTimestamp(){

        long millis = System.currentTimeMillis();
        System.out.println("generatetimestamp "+ String.valueOf(Math.round(millis/1000)));
        return String.valueOf(Math.round(millis/1000));
    }


}


现在我在我的应用程序中已经存在的可运行状态中使用了此功能,只是多次运行并查看其开发方式...

 private final Runnable mUpdateUITimerTask = new Runnable() {
        public void run() {
            updateGraphics(); //the reason for the runnable
            timestamp = HelperFunctions.generateTimestamp(); // my malfunctioning function
        }
    };


这是我的输出:

03-26 00:23:48.314: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:48.364: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:48.424: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:48.474: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:48.524: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:48.574: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:48.634: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:48.684: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:48.734: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:48.794: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:48.864: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:48.914: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:48.974: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.034: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.094: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.164: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.214: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.274: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.324: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.384: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.454: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.514: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.574: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.674: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.784: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.854: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:49.924: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.004: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.074: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.134: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.194: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.264: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.354: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.414: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.474: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.534: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.594: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.654: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.714: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.774: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.834: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.894: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:50.954: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.004: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.064: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.114: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.174: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.234: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.294: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.344: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.404: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.464: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.514: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.574: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.624: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.684: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.744: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.834: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.894: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:51.954: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:52.004: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:52.054: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:52.104: I/System.out(8345): generatetimestamp 1395789824
03-26 00:23:52.154: I/System.out(8345): generatetimestamp 1395789824


等等

时间戳由于某种原因而滞后,并保持不变...但是它应该在改变!
有谁知道为什么它不会改变?我觉得这很奇怪……好像system.getmillis卡住了。

不知道这是否重要,但是我正在使用Cyanogenmod在银河选项卡10.1上运行它。

最佳答案

检查设备日期和时间设置。如果日期和时间正确,则使用下面的代码获取时间。

 Calendar cal = Calendar.getInstance();
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 String test = sdf.format(cal.getTime());
 Log.d("TEST Date", test);


要不就

return cal.getTime();


它可能会帮助您。

08-18 08:31
查看更多