夏令时转冬令时问题请教
现在我们有一个CS的系统(C: java, S: Oracle). 在下个月要把时间从夏令时转冬令时.
由于之前没有考虑这个问题, 所以程序中都是不分时区的.
请问大家有没有遇到这个问题? 并有什么解决建议? 包括前台的java时间,如何保存这些信息, 后台Oracle如何处理等. 谢谢!!
------解决方案--------------------不懂,什么是夏令时,冬令时?专业术语吗?
------解决方案--------------------夏令时不是十多年前就取消不用了吗?
------解决方案--------------------虽然不知道你有什么用处,但可以通过时区来实现,给个简单例子,希望能有帮助:
public static void main(String[] args) {
Calendar gmtlocal = new GregorianCalendar(TimeZone.getTimeZone( "GMT+8 "));
gmtlocal.set(Calendar.YEAR, 2007);
gmtlocal.set(Calendar.MONTH, 0);
gmtlocal.set(Calendar.DAY_OF_MONTH, 1);
gmtlocal.set(Calendar.HOUR_OF_DAY, 0);
gmtlocal.set(Calendar.MINUTE, 0);
Calendar gmt0 = new GregorianCalendar(TimeZone.getTimeZone( "GMT+0 "));
gmt0.setTimeInMillis(gmtlocal.getTimeInMillis());
System.out.println(gmt0.get(Calendar.YEAR));
SimpleDateFormat sf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss ");
sf.setTimeZone(TimeZone.getTimeZone( "GMT+12 "));
System.out.println(sf.format(gmtlocal.getTime()));
sf.setTimeZone(TimeZone.getTimeZone( "GMT+8 "));
System.out.println(sf.format(gmtlocal.getTime()));
sf.setTimeZone(TimeZone.getTimeZone( "GMT+0 "));
System.out.println(sf.format(gmtlocal.getTime()));
}
------解决方案--------------------为什么不直接改系统时间?
------解决方案--------------------我用ORACLE的时候时间保存成字符的,感觉很方便。