说一说java时区和数据库时区的问题
来源:互联网 发布:查找质数的算法 编辑:程序博客网 时间:2024/06/05 16:50
看了两个小时的API
java关于时间、日期的类真是混乱,真是烦
Calendar类设了时区还是没用,返回的还是当前系统时间。
后来一怒把那些类所有方法仔细研究一遍,找到一个比较好的方法。
贡献出来:
TimeZone类,
getTimeZone("GMT+08:00")获得北京时区
getDefault()获得默认时区
getRawOffset()方法,获得相对于GMT的偏移。
然后相减。
最后用Calendar 类获取1970年的毫秒数。再加上偏移。
就是正确的北京时间。
(因为有时候服务器在外国,直接getTime()获取的不是北京时间)
代码:
public final class Token {
private Token(){}
public static long getToken() {
TimeZone bjTzone = TimeZone.getTimeZone("GMT+08:00");
TimeZone dfTzone = TimeZone.getDefault();
long off = bjTzone.getRawOffset() - dfTzone.getRawOffset();
Calendar cr = Calendar.getInstance();
return cr.getTimeInMillis() + off;
}
//测试方法
public static void main(String[] args){
Timestamp now;
now = new Timestamp(getToken());
System.out.println(now);
}
}
然后存数据库的时候,
String sql = "xxxxx ?";
PreparedStatement stmt = conn.prepareStatement(sql);
Timestamp now = new Timestamp(Token.getToken());
stmt.setTimestamp(1, now);
- 说一说java时区和数据库时区的问题
- 关于java Date和时区的问题
- 关于java Date和时区的问题
- Lumen5.3.2 数据库和app时区问题
- 修改数据库时区和会话时区
- 修改数据库时区和会话时区
- 数据库存储时间的时区问题
- java 时区问题 SimpleDateFormat 时区大全
- 关于java时区问题
- java 时区问题
- Java 时区问题
- Java时区问题
- java设置时区问题
- Java虚拟机 时区问题
- java时区问题
- java时区问题
- java时区问题
- JAVA 时区问题
- 【asp】如何打开asp文件,包括IIS安装,HTTP错误403.14,配置默认文档,启用目录浏览
- 设计模式六大原则(2):里氏替换原则
- js中的 innerhtml与jquery中的html()区别
- 数据库范式
- 善用 NSAutoreleasePool 节约宝贵内存
- 说一说java时区和数据库时区的问题
- forward和redirect的区别
- Ubuntu下ftp服务器配置方法 (高级配置)
- 读《找寻真实的蒋介石》感想
- 数据结构--贪心算法解决找零钱问题 这里用的是人民币()
- ubuntu安装ftp服务器(一般配置)
- scrapy easy_install如果报错
- HDOJ 1005:取余,循环,找规律
- 重定向与请求转发