日期:2014-05-20  浏览次数:20698 次

夏令时转冬令时问题请教
现在我们有一个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的时候时间保存成字符的,感觉很方便。