给定时间戳 1245613885,这是 GMT 中的时间戳
如何使用服务器的本地时区信息将其转换为 Java 中的年、日、小时、分钟值?
您可以使用java.util.Calendar http://download.oracle.com/javase/6/docs/api/java/util/Calendar.html为了这。它提供了一个setTimeZone() http://download.oracle.com/javase/6/docs/api/java/util/Calendar.html#setTimeZone%28java.util.TimeZone%29方法(顺便说一句,这是多余的,因为它默认已经选择系统默认时区)。
long timestamp = 1245613885;
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getDefault());
calendar.setTimeInMillis(timestamp * 1000);
int year = calendar.get(Calendar.YEAR);
int day = calendar.get(Calendar.DATE);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
如果您想以人类可读的日期字符串形式呈现它,那么我建议SimpleDateFormat http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html为了这。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = sdf.format(calendar.getTime());
System.out.println(dateString); // 2009-06-21 15:51:25
(根据我的时区 GMT-4,输出是正确的)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)