Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php和mysql中将datetime转换为timeticks_Php_Mysql - Fatal编程技术网

在php和mysql中将datetime转换为timeticks

在php和mysql中将datetime转换为timeticks,php,mysql,Php,Mysql,我想把datetime.now()转换成滴答声,比如时间是2010年6月18日下午4:00,我想它是20100618160000,或者像这样的复数。我想使用这个数字和数据库中的另一个字段作为检索数据的主键组合。我正在使用php和mysql,所以如果有人能给我发送一些相同的代码,那将非常有帮助。谢谢 SJ使用strotime将日期和时间的任何字符串表示形式解析为Unix时间戳(自1970年1月1日00:00:00 UTC以来的秒数) 我想使用这个数字和数据库中的另一个字段作为检索数据的主键组合

我想把datetime.now()转换成滴答声,比如时间是2010年6月18日下午4:00,我想它是20100618160000,或者像这样的复数。我想使用这个数字和数据库中的另一个字段作为检索数据的主键组合。我正在使用php和mysql,所以如果有人能给我发送一些相同的代码,那将非常有帮助。谢谢


SJ

使用strotime将日期和时间的任何字符串表示形式解析为Unix时间戳(自1970年1月1日00:00:00 UTC以来的秒数)

我想使用这个数字和数据库中的另一个字段作为检索数据的主键组合

可能不是个好主意。当脚本的两个实例同时被调用时,理论上可能会发生冲突。您必须将其与另一个唯一值结合起来才能创建一个安全的主键

但为了回答您的问题,我们将为您提供当前时间戳,以微秒为一个长数字。将任何美国格式的时间转换为时间戳

您可以使用数字_格式(($time*10000000)+62135596800000000,0,“,”);
其中$time表示unix时间戳值。

通过让数据库而不是应用程序提交datetime值来停止冲突。IE:使用NOW()/CURRENT\u TIMESTAMP填充值很好。@OMG但只有在插入记录之前锁定表才可以,不是吗?或者mySQL是否足够聪明,能够在发生冲突时向第二个时间戳添加一些内容?毕竟,我们在这里讨论的是两个具有两个不同数据库连接的脚本实例。@Pekka:数据库中的操作是排队的。在处理隔离级别时会有一些麻烦,但在其他方面,插入是顺序的。当然,拥有真实身份的最佳方法是使用自动增量集设置PKID。但是,您也可以使用时间戳作为唯一值。数据库通常不会在同一时刻执行查询。即使那个时刻是一个难以置信的小时间,当前的时间戳是否有微秒也是无关紧要的:不太可能的冲突仍然是冲突(如果你不相信一个MySQL实例可以做到这一点,那么想象一个主复制数据库有两个实例)。UUID()可能更好,如果定义了键的开始和增量,则仍然会首选自动增量,即使在复制的实例中也是如此。
SELECT UNIX_TIMESTAMP();