我需要一种将 GregorianCalendar 对象转换为 Unix 时间(即长)的方法。还需要一种将 Unix Time (long) 转换回 GregorianCalendar 对象的方法。有什么方法可以做到这一点吗?如果没有,那我该怎么做?任何帮助将不胜感激。
链接到 GregorianCalendar 类 --> http://download.oracle.com/javase/1.4.2/docs/api/java/util/GregorianCalendar.html
谢谢。
我需要一种将 GregorianCalendar 对象转换为 Unix 时间(即长)的方法。还需要一种将 Unix Time (long) 转换回 GregorianCalendar 对象的方法。有什么方法可以做到这一点吗?如果没有,那我该怎么做?任何帮助将不胜感激。
链接到 GregorianCalendar 类 --> http://download.oracle.com/javase/1.4.2/docs/api/java/util/GregorianCalendar.html
谢谢。
方法getTimeInMillis()andsetTimeInMillis(long)将让您以毫秒为单位获取和设置时间,这是 unix 时间乘以 1000。您必须手动调整,因为 unix 时间不包括毫秒 - 只有秒。
长 unixTime = gregCal.getTimeInMillis() / 1000; gregCal.setTimeInMillis(unixTime * 1000);
旁白:如果您在应用程序中大量使用日期,尤其是在转换日期或使用多个时区时,我强烈建议您使用JodaTime库。它比 Java 自带的 Calendar 系统非常完整,而且理解起来也更自然一些。
我相信GregorianCalendar.getTimeInMillis()和GregorianCalendar.SetTimeInMillis()会让您以您想要的方式获取和设置长值。
查看 setTimeInMillis 和 getTimeInMillis 函数:http: //download.oracle.com/javase/6/docs/api/java/util/Calendar.html#getTimeInMillis ()
Calendar.getTimeInMillis() 应该是您正在寻找的。