如何在Java中将Gregorian Calendar转换为Unix Time?

and*_*oob 14 java methods gregorian-calendar unix-timestamp

我需要一个方法将GregorianCalendar对象转换为Unix时间(即很长).还需要一种方法将Unix Time(long)转换回GregorianCalendar对象.有什么方法可以做到这一点吗?如果没有,那我该怎么办呢?任何帮助将受到高度赞赏.

链接到GregorianCalendar类 - > http://download.oracle.com/javase/1.4.2/docs/api/java/util/GregorianCalendar.html

谢谢.

Eri*_*son 30

该方法getTimeInMillis()setTimeInMillis(long)将让你获取和设置以毫秒为单位的时间,这是UNIX时间乘以1000,您将需要手动调整,因为Unix的时间不包括毫秒-只有几秒钟.

long unixTime = gregCal.getTimeInMillis() / 1000;
gregCal.setTimeInMillis(unixTime * 1000);

另外:如果您在应用程序中使用了很多日期,特别是如果您要转换日期或使用多个时区,我强烈建议您使用JodaTime库.它比Java附带的Calendar系统更完整,更自然.