草庐IT

UNIX_TIMESTAMP

全部标签

php - 为什么 MySQL 的 UNIX_TIMESTAMP 在 MySQL 5.5 中返回奇怪的值,如 '%qd'?

我正在尝试使用这种方法在PHP中从MySQL查询时间数据:SELECTUNIX_TIMESTAMP(DATE_ADD(a.`date_time`,INTERVAL1DAY))*1000AStimeFROM`graph_values`ASa在运行MySQL5.0.x的生产服务器上,这会按预期返回一个unix时间戳。然而,在运行MySQL5.5.x的开发服务器上,它返回一个字符串"%qd"。我尝试按照本页MySQL文档中的一些建议将结果CAST为无符号整数:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

php - MySQL TIMEstamp 到天、小时

在查看MySQL文档时,我没有在DATE_FORMAT(由TIME_FORMAT引用)下找到用于将MySQLTIME值(例如:172:04:11)转换为类似“7天4小时”的选项。有没有办法(在MySQL中)以这种方式格式化时间?或者我应该只在PHP中对返回的TIME值进行操作? 最佳答案 我讨厌不得不回答我自己的问题,但要清除MySQL的TIME()函数会截断超过838:59:59的值-显然不可取。我找到的解决方案是使用这个:TIMESTAMPDIFF(SECOND,date_old,date_newer)其中没有相同的截断问题。一

php - MySql UNIX_TIMESTAMP() 存储为 UTC,夏令时临近

我的数据库服务器(运行MySql5.5)设置为UTC,日期使用UNSIGNEDINT作为Unix时间戳存储在数据库中。该数据库主要用于存储在特定时间(exec_time)运行的任务。我通过使用登录用户的时区(在本例中为BST)在PHP中创建时间戳来插入任务。例如,我有一个任务设置为在格林威治标准时间明天早上4点1351396800运行。我使用以下查询从数据库中提取任务:SELECT*FROMtasksWHEREexec_time当时钟在明天凌晨2点倒拨一小时时,此设置是否正常?更新:PHP可以很好地转换日期。将PHP时区设置为Europe/Dublin(当前为BST)时,为午夜12点和

php - 将 unix 时间戳存储为无符号整数会有什么好处吗?

我不想再开始讨论使用DATETIME与TIMESTAMP与INT之间的优劣。(我已经阅读过类似UsingMySQL'sTIMESTAMPvsstoringtimestampsdirectly的文章。)我有时使用INT数据类型在数据库中存储unix时间戳。那是因为我的应用程序中的日期和时间计算经常使用unix时间戳(例如session超时和token过期)。此外,当我可以简单地比较WHERE子句中的整数值时,数据库中的数据选择比使用DATETIME更快。很少有超过1000万行(最多1亿行)的表,其中这4个字节也确实节省了存储空间(在磁盘和内存中,因为索引较小)。关于Y2K38问题,我假设

mysql - PhpMyAdmin 不会生成正确的 JSON 导出文件吗?在 Unix 上用什么替换 ^M 字符?

我使用PhpMyAdmin工具将SQL表导出到JSON文件中。我有这样一个文件:/**ExporttoJSONpluginforPHPMyAdmin@version0.1*///Database'table_name'//...[{"id":7,"field1":"value1","field2":2,"field3":"Lorem^Mipsum^Mdolor^Msit^Mamet","field4":"value4"}]很明显,第一行(注释无效,因为JSON不允许注释)。我知道^M是由DOS/Windows行结束符引起的。删除评论后运行jsonlintmyexportedfile.j

mysql - TIMESTAMP 默认值错误

我使用工作台将SQL脚本导出到phpMyAdmin,但由于TIMESTAMP默认值出现错误。这是一段代码:CREATETABLEIFNOTEXISTS`test`.`is_users`(`count`INT(10)UNIQUENOTNULLAUTO_INCREMENT,`active`ENUM('1','0')NULLDEFAULT1,`id`VARCHAR(36)UNIQUENOTNULL,`created_at`TIMESTAMPNOTNULLDEFAULT'1970-01-0100:00:01',`updated_at`TIMESTAMPNOTNULLDEFAULT'1970-0

mysql - 如何对非常大的数据集的结果集进行分组、存储和过滤

抱歉,问题标题有些含糊,所以这是一个有效的例子。我有一个表,每个用户(userid)每隔几天都会在其中获取一个值。我想找到每个用户的最后一个值,按月分割,并将他们的数量计入一个范围。这是一个示例表和代表性数据:CREATETABLE`datasource`(`id`INTUNSIGNEDNOTNULLAUTO_INCREMENTPRIMARYKEY,`userId`INTUNSIGNEDNOTNULL,`unixts`INTUNSIGNEDNOTNULL,`value`INTUNSIGNEDNOTNULL,INDEX(`userId`));INSERTINTO`datasource`(

python - 转换 DD/MM/YYYY HH :MM:SS into MySQL TIMESTAMP

我想要一种简单的方法来查找格式为“DD/MM/YYYY”的文本并将其重新格式化为“YYYY/MM/DD”以与MySQLTIMESTAMP兼容,在可能会或可能不会的文本项列表中在python下包含一个日期。(我在想RegEx?)基本上我正在寻找一种方法来检查项目列表并更正找到的任何时间戳格式。标准的伟大之处在于有太多可供选择的.... 最佳答案 您可以将字符串读入datetime对象,然后使用不同的格式将其输出为字符串。例如>>>fromdatetimeimportdatetime>>>datetime.strptime("31/12

mysql - 为什么 CakePHP 形成 INSERT 语句并在引号中包含 'CURRENT_TIMESTAMP'?

我收到此错误,因为cakephp1.3.11创建了一个INSERT语句,其中包含引号中的“CURRENT_TIMESTAMP”。类似的事情在1.3.9中起作用。我可能做错了什么?SQLError:1292:Incorrectdatetimevalue:'CURRENT_TIMESTAMP'forcolumn'time_posted'atrow1[CORE\cake\libs\model\datasources\dbo_source.php,line684]这是上下文查询:$sql="INSERTINTO`my_table`(`time_posted`,`version`,`provid

MySQL CSV 导入 - 输入的日期为 0000-00-00 00 :00:00 if timestamp has milliseconds?

我目前有大量CSV文件要导入到MySQL数据库中。这些文件包含每条记录的时间戳,格式如下(例如):2011-10-1309:36:02.297000000我知道MySQL错误#8523,它表明不支持在日期时间字段中存储毫秒数。尽管如此,我还是希望日期时间字段在秒后截断记录,而不是输入为空白。我已经将问题缩小到毫秒(而不是csv等的格式),因为2011-10-1309:36:02正确导入。任何人都可以建议一种方法,让我可以在没有零的情况下导入这些数据吗?我有太多的CSV,无法手动进入每一个并调整时间戳的长度/格式。我应该指出,虽然毫秒是一个很好的选择,但它们对我的应用程序来说并不是必需的