今天我正在寻找一些帮助,我正在对我的数据库进行更新。 在我们内部系统的先前版本中,我们使用以下样式字符串作为系统日志; p>
用户管理员从xx.xx.xx.xx登录 - 24/05/2014 - 12:26 PM
code> pre>
所有时间都按照上面的单个字符串写入数据库,但我希望系统现代化并使用时间戳,以便搜索可以 对他们做了。 数据库中有几千条记录,都带有上面的时间标记。 p>
我正在寻找帮助打破字符串,提取时间然后将其转换为时间戳,节省 之后我到了一个数据库。 p>
到目前为止,我已尝试手动使用以下内容,看看结果如何; p>
strtotime($ string。“UTC + 10”);
code> pre>
使用“now”,“today”和“June 31st”之类的术语似乎有效,但字串 '24 / 05/2014 - 12:26 PM'没有。 p>
除了这个问题之外,我注意到日期信息之间的使用会强制使用 脚本把它读作mm / dd / yyyy而不是dd / mm / yyyy p>
建议的方法是什么,记住我想从数据库中提取这些,得到时间戳, 全部自动将其保存回数据库。 服务器负载不是问题,因为它只需要发生一次。 p>
一如既往地非常感谢:) p>
I 基于提供的答案使用以下代码来快速有效地完成此任务。 希望它能帮助其他人! p>
<?php
require_once(“config.inc.php”);
$ ProcessText ='';
$ QueryCount = 0;
$ sql = mysql_query(“SELECT UNIX_TIMESTAMP(STR_TO_DATE(RIGHT(log,20),'%d /%m /%Y - %h:%i%p')),dbid FROM systemlogs WHERE`timestamp `='';“);
while($ data = mysql_fetch_array($ sql)){
$ doupdate = mysql_query(”UPDATE`systemlogs` SET`timestamp` ='“。$ data [0]。”' WHERE`dbid` ='“。$ data [1]。”'LIMIT 1“);
$ ProcessText。='Updated:'。$ data [1]。' | 设置时间戳:'。$ data [0];
$ QueryCount ++;
}
// echo $ ProcessText;
echo'< strong> Total Queries Run:'。$ QueryCount。'< / strong>';
?>
code> pre>
div>