currentTimeMillis()到年,日,分钟和后记.(硬)

Rea*_*cen 5 java time

我需要System.currentTimeMillis()转换成3个变量:

int Years;
int DaysMonths;
int MinutesHours;
Run Code Online (Sandbox Code Playgroud)

我的意思DayMonths,并且MinutesHours是,让我们说,例如,我们有2个小时.那么MinutesHours应该等于120(因为2小时= 120分钟).但是一旦它达到24小时,它应该是0并且通过它DaysMonths.DaysMonths变量也是一样.

而且我还需要知道如何让这件事情逆转.使用这三个变量,我需要另一种方法来获取System.currentTimeMillis()它们.

我很难解释这个,但我希望你知道我的意思.我真的很讨厌在java中处理时间.这不是我的事,但我需要它对游戏项目来说真的很糟糕.

And*_*rte 16

创建一个Calendar对象:

long millis=System.currentTimeMillis();
Calendar c=Calendar.getInstance();
c.setTimeInMillis(millis);
Run Code Online (Sandbox Code Playgroud)

在此之后,您可以从Calendar对象获取字段:

int hours=c.get(Calendar.HOUR);
int minutes=c.get(Calendar.MINUTE);
Run Code Online (Sandbox Code Playgroud)

然后:

int MinutesHours=(hours*60)+minutes;
Run Code Online (Sandbox Code Playgroud)

要返回,您可以在日历中使用set方法:

Calendar c=Calendar.getInstance();
c.set(Calendar.MINUTE,minutes);
long millis=c.getTimeInMillis();
Run Code Online (Sandbox Code Playgroud)