草庐IT

Timestamp

全部标签

mysql - 从时间戳中选择最后连续的天数(今天除外)

我有一个表A_DailyLogins,其中包含列ID(自动递增)、Key(用户标识)和Date(时间戳)。我想要一个查询,它会根据Key从那些时间戳中返回最后连续天数,例如,如果他有昨天的一行,两天前的一行和三天前的另一行,但最后一个不是四天前的,它会返回3,因为这是用户最后登录的天数。我的尝试是创建一个查询,选择按DateDESC排序的球员的最后7行(这是我最初想要的,但后来我认为这会很棒有所有最后连续的天数),然后我检索查询结果并比较日期(使用该语言[Pawn]的函数转换为年/月/日)并增加一个日期在另一个日期之前的连续天数一天一次。(但与我认为只能用MySQL直接完成的相比,这是

php - Yii2 model->created_date 是 future 的,不会在查询时返回

我已将Yii->application->configuration->timezone设置为UTC并让模型attributeBehaviors插入/更新时间戳自动使用PHP的time()方法。问题是,保存到数据库的时间戳是将来的,当我对今天的记录执行搜索查询时,如果它们是在10点到午夜之间创建的,则不会返回它们,因为时间戳是实际上是明天。我应该如何创建记录并执行搜索查询?谢谢。 最佳答案 看来您在PHP和MySQL时区之间存在差异。尝试执行以下操作:echodate_default_timezone_get()."";echoYi

mysql - 在更新时使用 UNIX_TIMESTAMP 而不是时间戳

我想添加一个带有unix时间戳的列,以查看该行最后一次更改的时间。到目前为止,我只能弄清楚如何添加具有时间戳格式的列。ALTERTABLExyz.testADD`insert_time`TIMESTAMPONUPDATECURRENT_TIMESTAMPNOTNULLDEFAULTCURRENT_TIMESTAMP;是否有使用unix时间戳的解决方案-像这样:...INTONUPDATEUNIX_TIMESTAMP()NOTNULLDEFAULTUNIX_TIMESTAMP();更新:similarquestion据我所知,该线程仅展示了如何向每一行手动添加unix时间戳。我想知道是否

MySQL(默认+更新时)时间戳

我有一个表,其中有两个字段:dateCreateddateUpdated我希望两个字段都保存时间戳,dateCreated有一个DEFAULTCURRENTTIMESTAMP标志,dateUpdated有一个ONUPDATECURRENTTIMESTAMP行为,但是似乎我不能在同一个表上有多个时间戳字段类型。如果数据库可以为我处理这个问题,那将非常有用,我能以某种方式规避这个问题吗? 最佳答案 是的,我们可以。您可以使用trigger更新字段,像这样:createtriggerCreationTimestampafterinsert

Mysql join 基于max(timestamp)

我有一个网络应用程序,可以让客户为他们的服务定义每日费率。对于任何给定的一天,客户可以输入两个费率,一个小时费率(rateTypeId=1)和一个每日费率(rateTypeId=2)。这些费率通常是预先指定的,而且经常会发生变化。我需要跟踪所有分配,但只提取最新的分配率。我有两张table。第一个表简单地定义了我的费率结构,看起来像这样(简化):表:RateDefinitionsRATECODE-----RATE31----------------5.0032----------------6.0033----------------7.00我的第二个表跟踪分配给给定日期的费率。可以为

mysql - 如何让 SQL 正确更新我的记录修改时间戳?

我正在尝试建立一个sql表来记录帐户的创建时间和上次修改时间。我希望sql来处理这个,所以我不必在我的php文件中这样做。我的用户表中有两列(都是timestamp类型):createdmodified我希望“创建”时间永远不会改变,并且始终包含它的创建日期,并且每次修改用户行时都会更改“修改”时间。我设置了表格,因此“创建”按预期工作,但是当我尝试更新修改时:ALTERTABLE`users`CHANGE`modified``modified`TIMESTAMPNOTNULLDEFAULT'0000-00-0000:00:00'ONUPDATECURRENT_TIMESTAMP我收到

php - 奇怪的 MYSQL/PHP 错误 : inserts with now()+$i as timestamp occasionally inserts 0

我观察到这个奇怪的问题。用now()插入没问题,但是当向now()添加数字时,它有时会插入0。这看起来是随机的。这是查询mysql_query("INSERTINTOaction_data(user_id,value,create_time,site_id)VALUES(807809,20,now()+$i,409666)");表:ENGINE=InnoDBAUTO_INCREMENT=164865DEFAULTCHARSET=latin1mysql_版本+-------------------------+---------------------------------------

员工时钟的MySQL数据库结构

我正在开发一款部分用作员工时钟的应用程序。它并不太复杂,但我想确保我第一次就朝着正确的方向前进。我目前有这个表结构:id-intemployee_id-int(fk)timestamp-mysqltimestampevent_code-int(1forclockin,0forclockout)如果他们的最后一个事件是“打卡”,他们只会看到“打卡”按钮,反之亦然。我的问题是,我们需要运行一份报告,显示员工一个月的工作小时数以及当前财政年度(自当年6月1日起)的总小时数。似乎我可以在同一条记录中存储进出时钟,甚至可以计算两个事件之间的工作分钟数并将其存储在名为“工作”的列中。然后,我只需要

mysql - 连续调用重复 MySQL UNIX_TIMESTAMP() 结果

为什么这段代码每次调用都返回相同的UNIX_TIMESTAMP()值?DECLAREmyStamp1FLOAT;DECLAREmyStamp2FLOAT;DECLAREnINT;SETmyStamp1=UNIX_TIMESTAMP();SELECTSLEEP(1)INTOn;SETmyStamp2=UNIX_TIMESTAMP();SELECTmyStamp1,myStamp2; 最佳答案 FLOATdatatype的尾数只有23位,本质上相当于七位十进制精度。(是的,从技术上讲,将限制指定为六位数更准确。)但关键是FLOAT表示不

java - 查询以检查时间戳

在我的java项目中,我想列出一个表的值可编程。表中有programid、programname、startdate和enddate四个字段。我想列出今天完成的程序的详细信息。开始日期和结束日期在数据库中的数据类型为TIMESTAMP。帮助我找到查询以获取今天完成的程序的详细信息。我将我的代码添加到此。我用这个方法。但它不起作用,StringtodayDate=newSimpleDateFormat("yyyy-MM-dd").format(newDate());todayDatem=todayDate+"00:00:00";todayDaten=todayDate+"23:59:59