草庐IT

Timestamp

全部标签

mysql - 时间戳 vs 日期时间 vs int - 有和没有索引 - 测试

在我的例子中,我只会测试哪种日期时间格式最适合我的查询持续时间。这是我的查询:SELECTmax(ColumnA),--bigintCreateDate,ColumnB,EndTime,ColumnC,ColumnD,ColumnE,ColumnF,--intStartTime,--timestampordatetimeorint-UNIX_TIMESTAMP(StartTime)ColumnG,ColumnH,ColumnI,ColumnJ,UpdateDate,ColumnKFROMTABLE条件:--withindexes(Iteration1)WHEREStartTimeBET

使用 unix_timestamp() 后 MySQL 时间戳数学行为不同

我试图弄清楚MySQL在时间戳的数学运算中做了什么。结果问题图片:你会在左边看到我有两个时间戳,开始和结束,我需要找到从开始到结束的持续时间,所以我这样做:结束-开始我得到了一些非常奇怪的结果。您可以看到,在仅3小时的持续时间内,我得到的结果显示是该数量的2到3倍。当我首先转换为UTC时,数学计算结果很好。谁能解释一下SQL对左边的时间戳做了什么?我一直认为所有时间戳在幕后都是UTC,这就是为什么像最小值、最大值、小于等不转换就可以工作的原因。谢谢!代码:selectmin(timestamp)start,max(timestamp)end,max(timestamp)-min(tim

javascript - 使用图表对数据进行分组

场景:我正在使用FlotJS绘制一个带有每分钟数据的交易量条形图。因此,例如,在3小时内,我从数据库中提取了3x60个数据点。问题:因为我有6小时的数据点,图表的宽度只有250像素,每个条形只有1像素宽,没有边距。我想知道FlotCharts中是否有分组数据选项,我可以告诉它对每15分钟或30分钟的体积数据进行平均。$.plot('#flot-vol,[{color:'#fff',bars:{show:true},data:dataV}],{grid:{show:false},shadowSize:false});在HighCharts中有一个GroupData选项,您可以在其中按日/

java - 将 java.sql.Timestamp 转换为本地时区

我正在从时间戳mysql数据库列中检索结果。我需要将这些结果转换为本地时区。Timestamptimestamp=rs.getTimestamp("mytimestamp"); 最佳答案 我认为这可能有效:Calendarcalendar=Calendar.getInstance();calendar.setTimeInMillis(timestamp.getTime());我相信它们都是基于纪元的。 关于java-将java.sql.Timestamp转换为本地时区,我们在StackO

mysql - UTC_TIMESTAMP() 是否受夏令时影响?

我正在编写一个具有时间段预订系统的应用程序。用户可以处于不同的时区,因此我需要以UTC时间将值存储在数据库中。我想知道UTC_TIMESTAMP()在MySQL中是如何计算的。靠谱吗?如果服务器时区位于实行夏令时的区域,UTC_TIMESTAMP()是否会始终正确运行,即使在由于夏令时导致的时间更改期间也是如此? 最佳答案 UTC始终是+0:00-它忽略夏令时,无论它是否有效。在英国,当不使用夏令时时,我们使用GMT(与UTC相同)。当我们观察夏令时时,我们有BST为此。Wikipeda在UTC上是这样说的:UTCdoesnotch

mysql - MySQL根据日期选择记录

我有两个表——我们称它们为grade和test——具有通过第三个表上的键关联的信息,我们将调用student。如果test包含列student_id、test_topic、test_date和grade包含列student_id、grade和entered_date,我希望能够查看grade中的记录>表,并根据student_id和entered_date,仅将其与test中具有相同student_id的记录相关联>谁的日期最近。我当前的查询似乎返回与所有先前测试相关的每个等级,而不仅仅是最近的一个。我不知道如何限制它,以便它显示每个成绩仅与输入成绩时的最新测试相匹配。我认为我没有很好

MySQL 将多个日期时间值映射到相同的 unix 纪元时间

我运行以下MySQL查询:selectunix_timestamp('2011-03-1302:00:13'),unix_timestamp('2011-03-1302:20:41'),unix_timestamp('2011-03-1302:40:10');并得到以下奇怪的结果:1300003200,1300003200,1300003200我认为这里有某种夏令时,尽管所有的值都神奇地相同似乎仍然很奇怪。我很感激关于如何防止MySQL在这里执行夏令时操作的建议,以及关于为什么所有结果都相同的一些解释。 最佳答案 MySQL的行为是

经常更新的mysql索引时间戳列

我正在使用mysql(innoDB)。我有一个包含这些列的大型用户表:user_id,last_action_time。user_id是唯一的主键。该表有大约500万行。+------------------+-----------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+------------------+-----------+------+-----+---------+-------+|user_id|int(11)|NO||NULL|||last_action_time|times

java - hibernate 为从 mysql 自动生成的时间戳返回 null

我在mysql中有一个表,其中一个列的数据类型为时间戳,插入时的默认值为CURRENT_TIME。我还有另一个时间戳列,更新时的默认值为CURRENT_TIME。我有这些,以便时间戳列将在插入和更新时自动更新(效果很好)。现在我正在使用cxf、hibernate/jpa、mysql、jackson来构建Web服务。我只是创建一个新记录并立即检索它,如下面的代码所示。Sessionsession=getSession();//sessionFactory.getCurrentSession();StringaccountId=(String)session.save(account);A

mysql - 减去时间戳差异

我有一个持续进程,它检查数据库表中的一行并根据上次生成子进程的时间间隔在某个时间间隔生成一个子进程(基本上,一个非常简单的CRON替换)。我最初实现它,只是从last_start列中存储的值中减去当前时间戳。CURRENT_TIMESTAMP-last_start。这似乎有效,但是,仔细检查后发现时间戳减法的行为相当奇怪。似乎当我们越过分钟障碍时(因此,当前时间滴答到新的一分钟),计算出的“差异”会增加40(例如,从59增加到100)。这看起来像“1:00”——有点——直到我们进入如下所示的状态,其中“秒”部分超过60(在示例中为95)下)。我通过使用TIMESTAMPDIFF方法进行