今天遇到了一个比较有意思的问题,从服务器上封装好的java.sql.timestamp对象返回到本地客户端程序后与数据库中的时间相差了整整14个小时。因为跟客户的时差是14个小时,所以大体怀疑是时差问题,所以在google上搜了下“java.sql.timestamp TimeZone”的问题,找到一篇文章,讲的非常详细:
http://archives.postgresql.org/pgsql-jdbc/2008-01/msg00056.php
所以计划在客户端程序执行之前首先设置默认的TimeZone:
timezone,TimeZone.setDefault(TimeZone);
但是我服务器上的TimeZone是什么呢?于是我写了个程序来看看服务器的默认TimeZone:
import java.util.TimeZone;
public class TestTimeStamp {
public static void main(String[] args) {
TimeZone timeZone=TimeZone.getDefault();
System.out.println(timeZone.getID());
}
}
假设输出是: kk,
这样我就获得了服务器上的默认TimeZone:kk,然后所需要做的就是把在客户端程序执行前设置客户端程序的TimeZone:
timezone,TimeZone.setDefault(TimeZone.getTimeZone("kk"));
然后取得的时间如果打印出来就跟服务器一致了,当然你要是如果还是按照java.sql.TimeStamp的类型返回服务器的话,时间还是原来的时间。
另外如果远程服务器封装对象的时候如果直接使用String,我想就不会有这种问题了。
分享到:
相关推荐
世界范围内的时区列表。由 java.util.TimeZone 类导出
NULL 博文链接:https://bchen.iteye.com/blog/1632845
主要介绍了Java Timezone类常见问题的相关资料,需要的朋友可以参考下
今天遇到了一个比较有意思的问题,从服务器上封装好的java.sql.timestamp对象返回到本地客户端程序后与数据库中的时间相差了整整14个小时。因为跟客户的时差是14个小时,所以大体怀疑是时差问题。
TimeZone可以用来获取或者规定时区,也可以用来计算时差,这里我们就来详解Java中的时区类TimeZone的用法,特别要注意下面所提到的TimeZone相关的时间校准问题.
主要介绍了Java对世界不同时区timezone之间时间转换的处理方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了解决IDEA错误 Cause: java.sql.SQLException: The server time zone value的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
环境: Eclipse Java EE IDE for Web Developers. Version: Oxygen.3a Release (4.7.3a) mysql-connector-java-8.0.11 MySQL Server 8.0 ...useSSL=true&serverTimezone=GMT", "root", "123456")
You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support. 内包含两种解决办法
java.io.FileNotFoundException 报错解决 高版本jdk 运行 java -jar 时 缺少 jdk1.8中的这个文件
8.TimeZone 9.Class 10.BigDecimal 11.BigInteger 12.Class 13.StringBuffer 14.StringBuilder 15.URI 16.URL 17.UUID 18.Locale 19.Currency 20.TimeZone 21.java.util.Date 22.java.sql.Date 23....
菁菁整站 v3.1 繁体正式版
主要介绍了Java时区处理之Date,Calendar,TimeZone,SimpleDateFormat的区别于用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
超高频开发包xy-new.part06.rar
import java.util.TimeZone; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import sun.misc.BASE64Encoder; class Demo { public static String calcAuthorization(String source, String ...
You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support. 出现
XP系统中正确的TimeZone注册表文件. 博文链接:https://huiy.iteye.com/blog/200512
在java程序中使用JDBC,Class.forName()方法,参数用"com.mysql.cj.jdbc.Driver" (com.mysql.jdbc.Driver已经弃用了),url要加上serverTimezone,例如serverTimezone=GMT,否则会报错。 MySQL 8.0 以上版本驱动包...
characterEncoding=utf-8&serverTimezone=GMT%2B8"; String USER = "root"; String PASSWORD = "root"; //导出Excel的路径 String filePath = "E:/" + dbName + "-db-dict-export.xls"; WritableWorkbook wwb ...
Java支持mysql8.0x的jdbc驱动和c3p0库,包含如下三个jar包 c3p0-0.9.5.2.jar mchange-commons-java-0.2.15.jar mysql-connector-java-8.0.12.jar JDBC驱动类库名称变化 driverClass 由原来的 ...serverTimezone=GMT+8