中国曾在1986~1991这6年间实施过夏令时,具体作法是每年从四月中旬第一个星期日的凌晨2时整(北京时间),将时钟拨快一小时,即将表针由2时拨至3时,夏令时开始;到九月中旬第一个星期日的凌晨2时整(北京夏令时间),再将时钟拨慢一小时,即将表针由2时拨至1时,夏令时结束。
这样会导致夏令时开始日实际只有23 小时,而夏令时结束日有25小时。
夏令时日期范围:
1986年5月04日至9月14日,
1987年4月12日至9月13日,
1988年4月10日至9月11日,
1989年4月16日至9月17日,
1990年4月15日至9月16日,
1991年4月14日至9月15日。
一.准备工作,建表准备数据:
-- Create table create table TEST_DATE_TABLE ( USER_NAME VARCHAR2(100) not null, USER_PASSWORD VARCHAR2(50) not null, DATE_UPDATED DATE default SYSDATE ); insert into test_date_table (USER_NAME, USER_PASSWORD, DATE_UPDATED) values ('TEST', '123', to_date('04-05-1986 00:30:00', 'dd-mm-yyyy hh24:mi:ss')); insert into test_date_table (USER_NAME, USER_PASSWORD, DATE_UPDATED) values ('TEST2', '132', to_date('14-09-1986 00:30:00', 'dd-mm-yyyy hh24:mi:ss'));
二.测试
DataTest.java
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.Timestamp; public class DateTest { private static Connection connection = null; private static String url = "jdbc:oracle:thin:@10.25.17.141:1526:epcisdvp"; /** * 创建连接 * @return */ public static Connection createConnection() { try { Class.forName("oracle.jdbc.driver.OracleDriver"); connection = DriverManager.getConnection(url, "deployop", "paic0987"); return connection; } catch (ClassNotFoundException e) { return null; } catch (SQLException e) { return null; } } /** * 释放连接 */ public static void releaseConnection() { if (connection != null) try { connection.close(); } catch (SQLException e) { } } public static void main(String[] args) { try { Statement statement = createConnection().createStatement(); statement.executeUpdate("insert into test_date_table(user_name,user_password,date_updated) " + "values('BJ001', '123', to_date('1986-05-04 00:30:00', 'yyyy-MM-dd HH24:mi:ss'))"); ResultSet rs = statement.executeQuery("select USER_NAME, USER_PASSWORD, DATE_UPDATED " + "from TEST_DATE_TABLE where USER_NAME = 'BJ001'"); // statement.executeUpdate("insert into test_date_table(user_name,user_password,date_updated) " + // "values('BJ002', '123', to_date('1986-05-03 23:30:00', 'yyyy-MM-dd HH24:mi:ss'))"); // ResultSet rs = statement.executeQuery("select USER_NAME, USER_PASSWORD, DATE_UPDATED " + // "from TEST_DATE_TABLE where USER_NAME = 'BJ002'"); while (rs.next()) { //Date dateUpdated = rs.getDate("DATE_UPDATED"); //Date dateUpdated = rs.getDate(3); Timestamp dateUpdated = rs.getTimestamp(3); System.out.println("dateUpdated=" + dateUpdated); } releaseConnection(); } catch (SQLException e) { e.printStackTrace(); } } }
测试结果:我插入的时间是:1986-05-04 00:30:00,但查询出来的结果是:1986-05-04 01:30:00
查看数据库,发现表存储的是正确的。
PS测试环境:JDK1.6
相关推荐
用于检测当前的时区,并且判断该时区是否实行夏令时。
SUN工作站夏令时问题处理方案 SUN Solaris
GPS自动调夏令时和冬令时授时系统.pdf
1.时间表示 在程序当中,我们经常要输出系统当前的时间,比如我们使用date命令的输出结果。这个时候我们可以使用下面两个函数 time_t time(time_t *tloc); //时间精度为秒 char *ctime(const time_t *clock);...
此plist文件为1935年至1991年,包含中国大陆,中国香港,中国澳门,中国台湾在内的夏令时日期。中国大陆于1992年取消夏令时
主要介绍了js判断当前时区TimeZone是否是夏令时的方法,需要的朋友可以参考下
函数将日期作为 'mm/dd/yyyy' 格式的字符串并输出逻辑上,如果日期在当年的夏令时期间,则为 true。 看美国夏令时的定义
夏令时 简单的测试代码可以根据夏令时检查作业调度程序的行为。 / crontab crontab设置和用于测试crontab的bash脚本 / src和pom.xml Java代码测试Spring计划任务 /log.202003 2020年3月8日左右执行的日志文件
下面小编就为大家分享一篇基于java时区转换夏令时的问题及解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
Android 完美获取手机当前时区,解决时间偏移量和夏令时差问题.从本地时间里扣除这些变量,解决时间偏移量和夏令时差问题.从本地时间里扣除这些变量,
这是一个bash脚本,可以启用或禁用您的AWStats报告配置的夏令时。 AWSDaylight.sh -t时区-c CONFS -d -n [-p PATHCONFS] -h -h:显示此帮助消息-t:定义正常时间的时区。 例如:-3(至巴西)-c:定义要更改的conf。 ...
克罗诺斯 Cronos是一个.NET库,用于解析Cron表达式并计算下一次出现。... 当时钟向前跳到夏时制(称为夏令时)时,不跳过出现。 当时钟从夏令时向后跳时,不跳过基于间隔的事件。 当时钟从夏令时
主要介绍了js获得当前时区夏令时发生和终止的时间代码,需要的朋友可以参考下
时区提供了不同时区之间的夏令时感知转换。 这也是Ruby宝石的端口。安装将此添加到应用程序的shard.yml : dependencies : time_zone : github : imdrasil/time_zone用法以下代码将获取America / New_York时区...
《数据结构 1800题》 第一章 绪论 一、选择题 1. 算法的计算量的大小...9. 当你为解决某一问题而选择数据结构时,应从哪些方面考虑?【西安电子北京科技大学 2000】 10. 若将数据结构定义为一个二元组(D,R),...
主要给大家介绍了关于iOS NSDate中夏令时的坑,以及iOS 时间字符串&NSDate&时间戳 相互转换的相关内容,分享出来供大家参考学习,需要的朋友可以参考借鉴,下面随小编来一起学习学习吧
2020最新版MT4必备指标-交易所开闭市时间 某MT4指标交流平台购买的最新版MT4交易指标,实时显示全球各大交易所开市、闭市时间,自动切换夏令时哦。
NTP时间ESP 该库返回查询的NTP时间服务,并以结构形式返回实际时间: struct strDateTime { byte hour;...可以根据时区和欧洲夏令时自动调整时间。 它运行在ESP8266和ESP32上,需要互联网连接。
夏令时给定一个日期值,它将返回一个指示夏令时的布尔值。 该时区的某些地区在 3 月的第二个星期日和 11 月的第一个星期日之间观察到夏令时。用法 var isDST = require ( "isdst" ) . isDST ;var now = new Date ( )...