currentTimeMillis()到年,日,分钟和后缀。 (硬)
我需要将System.currentTimeMillis()
转换为3个变量:
int Years; int DaysMonths; int MinutesHours;
我对DayMonths
和MinutesHours
是,比方说我们有2个小时。 然后MinutesHours
应该等于120(因为2小时= 120分钟)。 但是一旦达到24小时,它应该是0并且将它传递给DaysMonths
。 DaysMonths变量也是如此。
而且我还需要知道如何让这件事情逆转。 使用这3个变量,我需要一个其他方法从它们获取System.currentTimeMillis()
。
我很难解释这个,但我希望你知道我的意思。 我真的很讨厌在java中处理时间。 这不是我的事,但我需要它对游戏项目来说真的很糟糕。
创建一个Calendar对象:
long millis=System.currentTimeMillis(); Calendar c=Calendar.getInstance(); c.setTimeInMillis(millis);
在此之后,您可以从Calendar对象获取字段:
int hours=c.get(Calendar.HOUR); int minutes=c.get(Calendar.MINUTE);
然后:
int MinutesHours=(hours*60)+minutes;
要返回,您可以在日历中使用set方法:
Calendar c=Calendar.getInstance(); c.set(Calendar.MINUTE,minutes); long millis=c.getTimeInMillis();
请考虑使用此库。
http://joda-time.sourceforge.net/
它有很多有用的日期和时间操作function,非常简单!
DateTime dt = new DateTime(2005, 3, 26, 12, 0, 0, 0); DateTime plusPeriod = dt.plus(Period.days(1)); DateTime plusDuration = dt.plus(new Duration(24L*60L*60L*1000L));