Php MySQL双到最新转换有问题吗

Php MySQL双到最新转换有问题吗,php,mysql,date,datetime,datetime-format,Php,Mysql,Date,Datetime,Datetime Format,我一直在寻找这样做的方法,但找到的信息非常有限 我有一个MySQL表“msgdb”,其中包含一个字段“ttime”,格式为双精度(25,8)(示例行=1352899856.95249200) 我需要通过删除字段“ttime”所在的任何行来定期清理表找出哪些记录的日期早于某个时间点应该很容易: DELETE FROM table WHERE ttime <= DATE_SUB(NOW(), INTERVAL 5 DAY); 从ttime所在的表中删除您使用1899作为基准日期的原因是什么?

我一直在寻找这样做的方法,但找到的信息非常有限

我有一个MySQL表“msgdb”,其中包含一个字段“ttime”,格式为双精度(25,8)(示例行=1352899856.95249200)


我需要通过删除字段“ttime”所在的任何行来定期清理表找出哪些记录的日期早于某个时间点应该很容易:

DELETE FROM table WHERE ttime <= DATE_SUB(NOW(), INTERVAL 5 DAY);

从ttime所在的表中删除您使用1899作为基准日期的原因是什么?你是时间旅行者吗?@tadman这正是我找到代码的方式。我无法控制存储在表中的格式,它来自实时聊天例程。它以双精度格式存储日期时间,看起来像1352899856.95249200。该字段是unixtime格式的,因此我如何将UTC_TIMESTAMP()合并到ttime获得它的表中的DELETE FROM中。从msgdb中删除ttime是的,应该是这样。在你的问题中不清楚你在处理原始UNIX时代。至少可以说,它们是分数的很奇怪。
 $query = "select date('1899-12-31 00:00:00'+ INTERVAL ttime * 24*3600 SECOND) as date from msgdb";
 $result = mysql_db_query ($dbname, $query, $link);
 while($row = mysql_fetch_array($result)) {
   echo $row['date'];
   echo '<br>';
 }
 $query = "SELECT ADDDATE(ADDDATE(ADDDATE('1899-12-31 00:00:00',FLOOR(ttime)), INTERVAL -1 DAY),INTERVAL(MOD(ttime,1)*86400)SECOND) AS TrueDate FROM msgdb";
 $result = mysql_db_query ($dbname, $query, $link);
 while($row = mysql_fetch_array($result)) {
   echo $row['TrueDate'];
   echo '<br>';
 }
$query = "select ttime from msgdb";
$result = mysql_db_query ($dbname, $query, $link);
while($row = mysql_fetch_array($result)) {
        echo date('m-j-Y, H:i:s', $row[0]);
    echo '<br>';
}
DELETE FROM table WHERE ttime <= DATE_SUB(NOW(), INTERVAL 5 DAY);