时间戳不工作时间

问题描述:

我试图搜索它,但似乎我找不到正确的答案。 目前我正在将第一封电子邮件发送给公司后从我的一个脚本中上传当前时间,因此在发送完毕后,它会将now()上传到MySQL中的其中一个表中。这是上传YYYY-MM-DD HH:MM:SS时间戳不工作时间

另一个脚本五天之后将重新发送不同的电子邮件与部分脚本

if($company_timestamp < strtotime('-5 days') && $email_sent == "NO"){ /* Code */} 

哪里$company_timestamp是先告诉的日期和时间。

确实发送了电子邮件,但它似乎没有得到正确的时间,因为它甚至在5秒后发送此电子邮件。 日期和时间格式错误吗?我怎样才能使strotime()与我的now()在数据库中一起工作。

+0

的什么是变量'$ company_timestamp'包含 –

+0

一个例子,我只是给自己的电子邮件,它包含:2016年11月24日17点33分57秒 –

+0

尝试这两个时间转换为UNIX时间,然后比较他们 –

你应该定义strototime()应该如何行动。在你的情况下,你必须这样定义它: date('Y-m-d H:i:s', strtotime('-5 days'));作为你的变量$ company_timestamp返回YYYY-MM-DD HH:ii:ss。另一种选择是将变量转换为“strtotime”日期。所以:strtotime($ company_timestamp)。

所以,你的代码将在第一种情况:

if($company_timestamp < date('Y-m-d H:i:s', strtotime('-5 days')) && $email_sent == "NO"){ 
+0

真棒工作JeroenE,解决了我的问题。谢谢 –

+0

没问题。玩得开心编码! – JeroenE

$company_timestamp是一个字符串,你需要将其转换之前,你可以比较一下。

<?php 
$email_sent = "NO"; 
$company_timestamp = date('Y-m-d H:i:s'); 

if(strtotime($company_timestamp) < date('Y-m-d H:i:s', strtotime('-5 days')) && $email_sent == "NO") 
{ 
    echo "Yes"; 
} 
+0

'$ company_timestamp'是一个字符串没有意义。看我的解决方案。这工作和'$ company_timestamp'仍然是一个字符串。请记住,PHP是松散类型的。 – JeroenE