在libgdx中我如何获得当前日期?
我发现我可以得到这样的时间:
long time = System.nanoTime();
long seconds = time / 1E9;
long minutes = seconds / 60;
long hours = minutes / 60;
如何才能获得当前\今天的日期?
答案 0 :(得分:1)
试试这个:
Date date = new Date(TimeUtils.millis());
答案 1 :(得分:1)
System.nanoTime();
以纳秒为单位返回时间。没有必要使用它。但是,如果你走这条路线,最好是以毫秒为单位获得时间:System.currentTimeMillis();
或使用LIBGDX TimeUtils.millis();
- 它返回当前时间与1970年1月1日午夜之间的差值,以毫秒为单位。 UTC。
您仍然需要将此时间翻译为普通表格。到秒 - 除以1000.到分钟 - 再次除以60.到小时 - 再次除以24.并且为了减少不必要的天数(小时,分钟),使用除法%24或%60的剩余部分。
但在这种情况下,你会得到GMT。没有时区修正。在真实设备上,时间会与真实时间不同。
使用标准Java日历的效率和使用效率更高:
Date date = new Date();
Calendar calendarG = new GregorianCalendar();
calendarG.setTime(date);
int minutes = calendarG.get(Calendar.MINUTE);
int hours = calendarG.get(Calendar.HOUR_OF_DAY);
不要在RENDER方法中使用它。行Date date = new Date();
会产生大量垃圾。