在libgdx中我如何获得当前日期?

时间:2015-03-27 17:32:02

标签: date time libgdx

在libgdx中我如何获得当前日期?

我发现我可以得到这样的时间:

long time = System.nanoTime();
long seconds = time / 1E9;
long minutes = seconds / 60;
long hours = minutes / 60;

如何才能获得当前\今天的日期?

2 个答案:

答案 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();会产生大量垃圾。