当前位置: 首页 > news >正文

建设网站实训报告wordpress分级标题

建设网站实训报告,wordpress分级标题,封面型网页网站有哪些内容,精品课程网站建设步骤在jOOQ邮件列表上#xff0c;最近有一个有趣的讨论#xff0c;关于jOOQ当前缺乏对TIMESTAMP WITH TIME ZONE数据类型的现成支持。 没有人说日期#xff0c;时间和时区很容易#xff01; 这里有一个有趣的部分#xff0c;我建议阅读#xff1a; 虚假的程序员相信时间 当… 在jOOQ邮件列表上最近有一个有趣的讨论关于jOOQ当前缺乏对TIMESTAMP WITH TIME ZONE数据类型的现成支持。 没有人说日期时间和时区很容易 这里有一个有趣的部分我建议阅读 虚假的程序员相信时间 当那还不够时还请阅读 更多的虚假程序员相信时间 我个人喜欢程序员错误地认为“ Unix时间是自1970年1月1日以来的秒数”。 …Unix时间无法代表leap秒 返回JDBC 这是Jaybird开发人员Firebird JDBC驱动程序 Mark Rotteveel提出的一个有趣的Stack Overflow答案 java.sql.Timestamp时区是否特定 可以按照以下方式观察Mark的解释我在这里使用PostgreSQL Connection c getConnection(); Calendar utc Calendar.getInstance(TimeZone.getTimeZone(UTC));try (PreparedStatement ps c.prepareStatement(select ?::timestamp, ?::timestamp, ?::timestamp with time zone, ?::timestamp with time zone )) {ps.setTimestamp(1, new Timestamp(0));ps.setTimestamp(2, new Timestamp(0), utc);ps.setTimestamp(3, new Timestamp(0));ps.setTimestamp(4, new Timestamp(0), utc);try (ResultSet rs ps.executeQuery()) {rs.next();System.out.println(rs.getTimestamp(1) / rs.getTimestamp(1).getTime());System.out.println(rs.getTimestamp(2, utc) / rs.getTimestamp(2, utc).getTime());System.out.println(rs.getTimestamp(3) / rs.getTimestamp(3).getTime());System.out.println(rs.getTimestamp(4, utc) / rs.getTimestamp(4, utc).getTime());} } 上面的程序使用Java和DB中使用时区而不使用时区的所有排列并且输出始终相同 1970-01-01 01:00:00.0 / 0 1970-01-01 01:00:00.0 / 0 1970-01-01 01:00:00.0 / 0 1970-01-01 01:00:00.0 / 0 如您所见在每种情况下UTC时间戳0均已正确存储并从数据库中检索到。 我自己的语言环境是瑞士即CET / CEST在Epoch是UTC 1这就是在Timestamp.toString()上获取输出的地方。 当您在SQL和/或Java中使用时间戳文字时事情会变得很有趣。 如果这样替换绑定变量 Timestamp almostEpoch Timestamp.valueOf(1970-01-01 00:00:00);ps.setTimestamp(1, almostEpoch); ps.setTimestamp(2, almostEpoch, utc); ps.setTimestamp(3, almostEpoch); ps.setTimestamp(4, almostEpoch, utc); 这又是我在CET / CEST上获得的东西 1970-01-01 00:00:00.0 / -3600000 1970-01-01 00:00:00.0 / -3600000 1970-01-01 00:00:00.0 / -3600000 1970-01-01 00:00:00.0 / -3600000 即不是Epoch而是我首先发送到服务器的时间戳文字。 请注意绑定/获取的四种组合仍然始终产生相同的时间戳。 让我们看看如果写入数据库的会话使用与从数据库中获取会话不同的时区假设您在PST中我再次使用CET或UTC会发生什么情况。 我正在运行此程序 Calendar utc Calendar.getInstance(TimeZone.getTimeZone(UTC));Calendar pst Calendar.getInstance(TimeZone.getTimeZone(PST));try (PreparedStatement ps c.prepareStatement(select ?::timestamp, ?::timestamp, ?::timestamp with time zone, ?::timestamp with time zone )) {ps.setTimestamp(1, new Timestamp(0), pst);ps.setTimestamp(2, new Timestamp(0), pst);ps.setTimestamp(3, new Timestamp(0), pst);ps.setTimestamp(4, new Timestamp(0), pst);try (ResultSet rs ps.executeQuery()) {rs.next();System.out.println(rs.getTimestamp(1) / rs.getTimestamp(1).getTime());System.out.println(rs.getTimestamp(2, utc) / rs.getTimestamp(2, utc).getTime());System.out.println(rs.getTimestamp(3) / rs.getTimestamp(3).getTime());System.out.println(rs.getTimestamp(4, utc) / rs.getTimestamp(4, utc).getTime());} } 它产生以下输出 1969-12-31 16:00:00.0 / -32400000 1969-12-31 17:00:00.0 / -28800000 1970-01-01 01:00:00.0 / 0 1970-01-01 01:00:00.0 / 0 第一个时间戳记是将Epoch存储为PST16:00然后数据库中删除了时区信息这将Epoch变成了您在Epoch处的本地时间-28800秒/ -8h即真正存储。 现在当我从自己的时区CET获取该时间时我仍然想要获取当地时间16:00。 但是在我的时区中这不再是-28800秒而是-32400秒-9h。 够古怪吗 当我获取存储的本地时间16:00时事情发生了相反的变化但是我强迫获取发生在UTC中这将产生您存储的时间戳最初是PST-28800秒。 但是在我的时区CET中打印此时间戳-28800秒时现在是17:00。 当我们在数据库中使用TIMESTAMP WITH TIME ZONE数据类型时将保持时区PST并且当我获取Timestamp值时无论使用CET还是UTC我仍然会得到Epoch它已安全地存储到了数据库在CET中打印为01:00。 ew。 TL; DR 使用jOOQ时 如果正确的UTC时间戳对您很重要请使用TIMESTAMP WITH TIMEZONE但是您必须实现自己的数据类型Binding 因为jOOQ当前不支持该数据类型。 一旦使用了自己的数据类型Binding就可以使用Java 8的time API它比java.sql.Timestamp 丑陋的Calendar更好地表示了这些不同的类型。 如果当地时间对您很重要或者您不在跨时区工作则可以使用TIMESTAMP和jOOQ的Field Timestamp。 幸运的是如果您像我一样可以在一个只有一个时区的很小的国家/地区进行操作而大多数本地软件都不会遇到此问题。 翻译自: https://www.javacodegeeks.com/2015/07/whats-even-harder-than-dates-and-timezones-dates-and-timezones-in-sql-jdbc.html
http://www.zqtcl.cn/news/424619/

相关文章:

  • 东莞网站设计公司排名辽宁建设工程信息网网上开标
  • 网站推广工具有页面素材图片
  • 网页设计搭建网站外贸求购信息平台
  • 仓库改造类网站怎么做手机创建网站的软件
  • 成都平台网站建设公司邯郸网络科技公司
  • 热门课程自己做网站大型购物网站建站
  • apache 创建网站重庆建站模板
  • 手机怎么制作网站叶县建设局网站
  • 怎么做后台网站一键更新搜索引擎优化的主要策略
  • 站酷网免费素材图库官网国外域名购买
  • 石家庄个人谁做网站天体摄影
  • 徐州集团网站建设网站排名快速提升工具
  • 自己创业做原公司一样的网站做网站要学会什么语言
  • 宿州高端网站建设公司网络业务
  • 做多语言版本网站网站收录低
  • 鼎湖网站建设江门网站优化快速排名
  • 做交通事故的网站北京物联网app开发公司
  • 网站建设中 页面网络培训注册会计师
  • app网站如何做推广安装wordpress错误
  • 八零婚纱摄影工作室网站南昌微信营销公司
  • 海南网站开发公司百度网站建设费用怎么做账
  • 做网站的研究生专业微信公众号推广的方法
  • sql网站开发数据库连接失败wordpress改全屏
  • 做外贸怎么上国外网站网上注册公司流程图文
  • 网站开发 慕课厦门建设局网站技司学校
  • 中山自助建站系统多个网站能否统一做等保
  • 做网站怎么别人搜不出来电商购物网站开发需求分析
  • 教育网站设计用模板做的网站不好优化
  • php网站api接口写法中国做铁塔的公司网站
  • 做博客网站如何盈利wordpress百家号