import java.sql.Timestamp; //导入方法依赖的package包/类

/**

* Tests fix for BUG#5874, timezone correction goes in wrong 'direction' (when useTimezone=true and server timezone differs from client timezone).

*

* @throws Exception

* if the test fails.

*/

public void testBug5874() throws Exception {

TimeZone defaultTimezone = TimeZone.getDefault();

try {

String clientTimezoneName = "America/Los_Angeles";

String serverTimezoneName = "America/Chicago";

TimeZone.setDefault(TimeZone.getTimeZone(clientTimezoneName));

long clientTimezoneOffsetMillis = TimeZone.getDefault().getRawOffset();

long serverTimezoneOffsetMillis = TimeZone.getTimeZone(serverTimezoneName).getRawOffset();

long offsetDifference = clientTimezoneOffsetMillis - serverTimezoneOffsetMillis;

SimpleDateFormat timestampFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");

long pointInTime = timestampFormat.parse("2004-10-04 09:19:00").getTime();

Properties props = new Properties();

props.put("useTimezone", "true");

props.put("serverTimezone", serverTimezoneName);

props.put("cacheDefaultTimezone", "false");

Connection tzConn = getConnectionWithProps(props);

Statement tzStmt = tzConn.createStatement();

createTable("testBug5874", "(tstamp DATETIME, t TIME)");

PreparedStatement tsPstmt = tzConn.prepareStatement("INSERT INTO testBug5874 VALUES (?, ?)");

tsPstmt.setTimestamp(1, new Timestamp(pointInTime));

tsPstmt.setTime(2, new Time(pointInTime));

tsPstmt.executeUpdate();

this.rs = tzStmt.executeQuery("SELECT * from testBug5874");

while (this.rs.next()) { // Driver now converts/checks DATE/TIME/TIMESTAMP/DATETIME types when calling getString()...

String retrTimestampString = new String(this.rs.getBytes(1));

Timestamp retrTimestamp = this.rs.getTimestamp(1);

java.util.Date timestampOnServer = timestampFormat.parse(retrTimestampString);

long retrievedOffsetForTimestamp = retrTimestamp.getTime() - timestampOnServer.getTime();

assertEquals("Original timestamp and timestamp retrieved using client timezone are not the same", offsetDifference,

retrievedOffsetForTimestamp);

String retrTimeString = new String(this.rs.getBytes(2));

Time retrTime = this.rs.getTime(2);

java.util.Date timeOnServerAsDate = timeFormat.parse(retrTimeString);

Time timeOnServer = new Time(timeOnServerAsDate.getTime());

long retrievedOffsetForTime = retrTime.getTime() - timeOnServer.getTime();

assertEquals("Original time and time retrieved using client timezone are not the same", offsetDifference, retrievedOffsetForTime);

}

tzConn.close();

} finally {

TimeZone.setDefault(defaultTimezone);

}

}

java get timestamp_Java Timestamp.getTime方法代码示例相关推荐

  1. cdate在java中_Java Calendar.add方法代码示例

    本文整理汇总了Java中java.util.Calendar.add方法的典型用法代码示例.如果您正苦于以下问题:Java Calendar.add方法的具体用法?Java Calendar.add怎 ...

  2. java hashmap putall_Java ConcurrentHashMap.putAll方法代码示例

    import java.util.concurrent.ConcurrentHashMap; //导入方法依赖的package包/类 /** * 生成更新Sql * @param entity * @ ...

  3. java中setattribute_Java Files.setAttribute方法代码示例

    import java.nio.file.Files; //导入方法依赖的package包/类 @Override public void setFileHiddenAttribute( String ...

  4. java gettime_Java Util.getTime方法代码示例

    import org.jrobin.core.Util; //导入方法依赖的package包/类 private void initGraphPeriodAndSize(Range range, in ...

  5. java中setDocument_Java ActionItem.setDocumentId方法代码示例

    import org.kuali.rice.kew.actionitem.ActionItem; //导入方法依赖的package包/类 @Test public void testConvertAc ...

  6. java sql xml_Java ResultSet.getSQLXML方法代码示例

    import java.sql.ResultSet; //导入方法依赖的package包/类 protected Object processColumn(ResultSet rs, int inde ...

  7. java中mymaps_Java MyLocationStyle.myLocationType方法代码示例

    import com.amap.api.maps.model.MyLocationStyle; //导入方法依赖的package包/类 @Override protected void onCreat ...

  8. java default locale_Java JSON.defaultLocale方法代码示例

    import com.alibaba.fastjson.JSON; //导入方法依赖的package包/类 public void test_time() throws Exception { lon ...

  9. java中settext_Java JCheckBoxMenuItem.setText方法代码示例

    import javax.swing.JCheckBoxMenuItem; //导入方法依赖的package包/类 private void reloadLang() { lang = JLang.g ...

最新文章

  1. Silence - 专注于阅读的博客园主题
  2. boa支持https_Boa: 在 Node.js 中使用 Python
  3. python中缩进规则的例外
  4. LeetCode 1966. Binary Searchable Numbers in an Unsorted Array
  5. vue+element【后台案例 · 搜集 · 集锦】
  6. easyui不同的jsp页面之间混乱_JSP+SSM+Mysql实现的图书馆预约占座管理系统
  7. 间距margin、padding - bootStrap4常用CSS笔记
  8. ScreenFlow 录制Mac电脑声音
  9. 持续交付和DevOps是一对好基友
  10. 迪杰斯特拉(Dijkstra)算法详解,通俗易懂
  11. 位运算实现求一个数的相反数
  12. WordPress和October
  13. 计算机硬件开关打开无线网络,如何打开电脑无线网络_如何打开无线网络连接...
  14. 解决百度推送not_same_site的问题
  15. 怎么将自己的头像p到特定的背景图_怎么把自己的头像和背景分离出来:用ps抠图...
  16. 【excel】如何绘制斜线表头
  17. Greenplum助医疗大数据从“奢侈品”走向常态化
  18. 成功解决WebMediaCfg.ini文件被清空引起的“没有找到数据库”
  19. 怎么提取抖音里的音乐制作手机铃声
  20. 高德地图添加瓦片图层

热门文章

  1. 计算机毕业设计Java春之梦理发店管理(源码+系统+mysql数据库+lw文档)
  2. Jmeter接口测试⑤——PUT请求
  3. 在mac中安装mpich
  4. 【看未来】前端生产方式:过去 10 年回顾和未来 10 年展望
  5. CANON 面试有感
  6. 关于GPIO你真的懂了吗?这篇文章都给你整理好了
  7. python的from_bytes属性_(转)python之from_bytes、to_bytes
  8. Tesseract-OCR中文语言包缺失的解决办法
  9. 初识·集成运算放大电路(运放)
  10. 如何从0基础到安卓软件开发工程师?