- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的表包含一个日期时间字段:
`RunEndTime` datetime DEFAULT NULL,
它作为 UTC 时间戳插入:
statement.setTimestamp(RUN_END_TIME, runStartTime, UTC_CALENDAR);
我们在哪里
Calendar UTC_CALENDAR = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
当我使用SQL查询的效果
SELECT RunEndTime, unix_timestamp(RunEndTime) ...
我得到以下不同的结果:
rs.getTimestamp(1); // 1445423199000
rs.getTimestamp(1, UTC_CALENDAR); // 1445423199000
rs.getLong(2); // 1445408799
选择 unix_timestamp
会给出不同的结果,并且它是唯一准确的结果。另外两个是EDT,也就是客户端程序的位置。如何正确使用getTimestamp
?
最佳答案
一些需要理解的事情 -
DateTime
对象是不包含时区的字符串。它们不是时间戳。当您调用 unix_timestamp
时,函数 unix_timestamp
隐式获取时区,然后使用 DateTime
和时区计算自纪元以来的秒数。服务器的时区可能设置为 UTC,但是如果您使用 SET SESSION time_zone = '+04:00'
例如,然后调用 unix_timestamp
,您将得到一个不同的答案。换句话说,unix_timestamp
不会输出与 DateTime 关联的规范时间戳,因为没有与 DateTime 关联的规范时间戳。 DateTime 只是一个不知道时区的字符串。这与问题无关,但直到今天研究它我才理解,所以包括在内。rs.getTimestamp
调用的深处。这是 MySQL(或 JDBC 之类的)内的一个错误。解决此问题的方法是在连接到数据库时添加 useLegacyDatetimeCode=false
。关于java - 为什么 DateTime 字段上的 getTimestamp 返回的结果与选择 unix_timestamp 的结果不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33269396/
java.util.Date、java.util.Timetamp 似乎让很多人感到困惑。在 StackOverflow 中有很多问题,不幸的是我的问题有点扭曲。 有 2 个 JDBC api。他们应
我看到许多资源建议在现代Android版本上使用AudioTrack.getTimestamp()来计算音频/视频同步的音频延迟。 例如: https://stackoverflow.com/a/37
我需要一个像 Stopwatch.GetTimestamp() 这样的时钟 获取值时的开销很小 精确到至少 1 毫秒(不减少操作系统范围的计时器间隔) 不必与一天中的实际时间 Hook (例如 Dat
我使用jdk-1.6, 操作系统-红帽5, driver-class12.jar,(jar 和 jdk lib) 数据库-Oracle 10g 对于 resultset.getTimestamp("C
我的要求:从数据库 ResultSet 获取时间戳(以 UTC 格式存储)并以线程安全的方式执行此操作。 我的代码目前如下所示: Calendar utcCal = Calendar.getInsta
我的数据库中有以下条目: Start End 2013-08-25 14:23:20 2013-09-14 14:23:20 (类型为datetime,数据
我有一个表 timestamptest,其中有一列 timestamp 类型为 timestamp without time zone。 我在此表中插入了一个值: insert into timest
我正在尝试从 ObjectID 获取时间戳,但 Mongo 一直给我这个错误。我错过了进口吗?将时间戳转换为标准日期格式的最佳方法是什么? video['date'] = video['_id'].g
我在来自 mongodb 的 _id 上调用了 .getTimeStamp 方法,其输出如下 Fri Apr 24 2015 15:28:34 GMT+0100 (GMT Daylight Time
在使用 Stopwatch.GetTimestamp() 时我们发现,如果您记录返回值,然后继续调用它并与之前的返回值进行比较,它最终会意外地返回一个小于原始值的值。 这是预期的行为吗? 在生产代码中
副本:How to get timestamp of tick precision in .NET / C#? 我如何从 Stopwatch.GetTimestamp() 到 DateTime 假设
在我的数据库中,我将值设置为 9/28/2010 11:30:00 PM。 现在我正在使用dataResultSet.getTimestamp(3),它给我一个值为2010-09-28 23:30:0
可能没有办法处理匿名对象? 我想做这样的简短思考: echo (new DateTime())->getTimestamp(); 在 javascript 中我们可以很快使用: alert( (new
我有一个包含列类型的表:timestamp。存储在那里的数据如下所示: 我想做一个简单的选择,看看给定的开始日期和结束日期之间是否有一个日期。 这是我目前所做的: $starttime = $_POS
我目前正在使用 ResultSet,但想切换到 Hibernate 查询。 我有这个代码: Statement stmt = nfCon.createStatement(); stmt = nfCon
我在 MySQL 数据库中有一个 DATETIME 类型的列,其值为 2012-05-07 19:59:12。我正在尝试从数据库中检索此值,假设它存储在 UTC 时区中: Calendar cal =
我在部署在 eclipse 中运行良好的应用程序时遇到了问题,但在创建可运行的 jar 时生成了以下错误(使用选项:将所需的库提取到生成的 JAR 中): org.eclipse.swt.SWTExc
当出于某种原因将 JDBC 用于 SQLite 时,日期和时间戳值正确存储在数据库中,在使用命令行 sqlite3 工具时正确显示,但是当使用 ResultSet 函数检索这些值时,它不起作用。下面是
本文整理了Java中org.openimaj.video.xuggle.XuggleVideo.getTimeStamp()方法的一些代码示例,展示了XuggleVideo.getTimeStamp(
本文整理了Java中us.ihmc.robotDataVisualizer.logger.YoVariableLogPlaybackRobot.getTimestamp()方法的一些代码示例,展示了Y
我是一名优秀的程序员,十分优秀!