中国曾在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
相关推荐
2. **夏令时问题**:夏令时可能导致时间的加减,尤其是在跨时区处理时。Java 8引入了`java.time`包,其中`ZonedDateTime`类能更好地处理这种情况。使用`ZonedDateTime.now(ZoneId.of("UTC"))`可获取当前的UTC时间。 ...
首先,全局数据配置的起点是删除原始默认数据,这是为了确保配置的准确性,避免因遗留的旧数据导致的冲突或错误。接着,配置流程包括设置全局数据,如应用ID、gNodeB功能、运营商信息以及跟踪区等。例如,通过ADD ...
耕地质量等别年更新评价是土地管理中的重要环节,它涉及到国家对农业资源的合理配置和...因此,在进行耕地质量等别年更新评价时,需严格遵循相关规定,确保所有数据和图件的准确无误,以提供可靠的土地管理决策依据。
此外,系统应具备处理夏令时变化的能力,以确保时间信息的精确性。 以上三个问题反映了行为感知系统开发中的常见挑战,它们涉及数据处理、一致性保证以及全球化支持。在实际开发中,需要综合运用数据结构设计、...
通过以上内容,我们可以看到Ruby-TZInfoRubyTimezone库在日期和时间处理中的关键作用,它是开发跨时区应用的重要工具,能够帮助开发者避免由于时区和夏令时处理不当导致的错误。在实际项目中,正确使用TZInfo库可以...
【描述】提到的"夏令时"可能是指服务在处理时间数据时考虑了时区调整,特别是涉及到夏令时期间的时间转换。夏令时是一种为了节约能源而实行的制度,通常会在夏季将时钟向前调整一小时。在编程中处理夏令时需要特别...
自动夏令时 禁用自动夏令时 线路断开/暂停(共三种状态:STOP、START、OFF) 断电后自动校正线路上的时间及其随后的外观 在线手动时间校正 线路的独立时区 内置日历,可防止您设置错误的日期 线路消耗电流的指示 ...
如果你的Java 8环境中tzdb.dat丢失或损坏,可能导致程序无法正确处理时区,出现日期时间错误,比如时区转换错误、夏令时处理不当等。在这种情况下,找到并替换tzdb.dat文件,如文中提到的"jre8-d"压缩包,就显得尤为...
例如,用户可能选择不存在的时区,或者网络问题可能导致夏令时数据无法获取。我们需要设置合理的异常处理机制,并提供友好的用户提示。 最后,测试是必不可少的环节。我们需要在多种设备和操作系统版本上进行测试,...
NTP具有高精度和稳定性,能有效解决时区和夏令时等问题。 2. **GPS同步**:部分电子警察设备内置了GPS接收器,可以接收到卫星发送的精确时间信息。这种方式不仅能够提供精确时间,还能在没有网络连接的情况下工作。...
PostgreSQL内置了时区支持,可以自动调整由于夏时制变化引起的日期和时间差异,确保数据的时间戳始终准确。 #### 15. 我们可以用什么语言和PostgreSQL打交道? PostgreSQL支持多种编程语言,包括C、Java、Python、...
在实际应用中,理解并正确处理夏令时至关重要,因为不正确的时区转换可能导致日程安排错误、数据同步问题,甚至可能导致安全漏洞。因此,开发者需要确保对时区和夏令时的处理是精确且无误的。这个示例就是一个很好的...
4. **时区处理**:dfdatetime库处理时区转换,考虑到夏令时和其他区域性的时区变化。 5. **时间序列操作**:它提供了对时间序列数据的操作函数,比如时间间隔计算、时间范围判断等。 6. **兼容性**:dfdatetime库...
实际上,世界各地有不同的习惯,需要考虑到时区、夏令时和其他文化差异。为了避免这类问题,开发者应该使用适应各种格式的库,并进行充分的测试。 在处理用户输入时,程序员可能假设用户会按照预期的方式输入数据,...
此外,对于支持夏令时的地区,软件需要能够自动处理夏令时的切换,以免出现时间错误。 总之,“北京时间校准”是一个确保计算机时间准确的重要任务,通过专门的软件工具可以方便快捷地完成。合理使用和配置这些工具...
4. 时区和夏令时:对于跨时区的应用,要考虑用户所在时区的影响,特别是涉及日期和时间的计算。处理好夏令时变化也是重要的一环。 5. 并发问题:在多线程环境下,多个定时器可能会并发执行,引发竞态条件。使用线程...
- `/etc/environment`中的TZ不应包含夏令时设置,避免时间问题。 - 如果有数据库,确保Aio服务可用。 - HACMP中的I/O pacing设置,如High Water Mark/Low Water Mark应为33/24。 - HACMP中Syncd的数量应保持在10...
syymmddhhmm)ETXBCC”命令,其中S和s代表起始和结束时间的夏令时状态。 - **2.2.6 数据返回**: 电表返回负荷曲线数据,“STXP.01(电表负荷曲线数据,带时标…..)ETX BCC”。 - **2.2.7 错误情况**: 如果该时间段的...
4. **考虑时区和夏令时**:软件应能自动处理时区转换和夏令时调整,以适应不同的地理位置。 5. **安全考量**:确保下载的软件来自可信源,避免携带恶意软件,因为时间同步功能也可能被恶意利用。 总的来说,时间...