how can I make a conditional statement like if date("Y-m-d h:i:s"); is more than 30 seconds after date("Y-m-d h:i:s");.
我如何做一个有条件的声明,如日期(“Y-m-d h: I:s”);超过30秒后(“Y-m-d h:i:s”);
I've previously used something like date("Y-m-d h:i:s"); < date("Y-m-d h:i:s"); + 30, however this doesn't seem to work.
我以前使用过类似日期(“Y-m-d h: I:s”); <日期(“y-m-d h:我:”);+ 30,但这似乎行不通。< p>
Help?
帮助吗?
4 个解决方案
#1
10
Use strtotime()
to convert them to UNIX time.
使用strtotime()将它们转换为UNIX时间。
E.g.:
例如:
if(strtotime($date2) - strtotime($date1) > 30) {
// $date2 is more than 30 seconds after $date1
}
or
或
if(abs(strtotime($date2) - strtotime($date1)) > 30) {
// $dates are more than 30 second apart
}
#2
2
Use strtotime() to convert both dates to a unix timestamp, then add the wanted amount of seconds to the second and do an integer comparison.
使用strtotime()将两个日期转换为unix时间戳,然后将所需的秒数添加到第二个,并进行整数比较。
#3
1
Use unixtime, instead. Just convert your date("Y-m-d h:i:s"); to date("U") or just time(). strototime() could help you with this. It shows the time in seconds since the Unix Epoch (January 1 1970 00:00:00 GMT). Then this method $unixtime + 30 will work fine as well ;)
使用unixtime,相反。只是转换你的日期(“Y-m-d h:i:s”);到日期(“U”)或只是时间()。strototime()可以帮助您解决这个问题。它显示了自Unix时代(1970年1月1日,格林尼治标准时间1月1日)以来的时间。然后这个方法$unixtime + 30也可以正常工作;
#4
1
It looks like you are trying to compare database date fields (like mysql DATETIME
). Use the database systems date and time functions to compare date values (like DATE_ADD()
or +
and with simple <
or >
in MySQL).
看起来您正在尝试比较数据库日期字段(如mysql DATETIME)。使用数据库系统的日期和时间函数来比较日期值(比如DATE_ADD()或+,并使用简单的 <或> 在MySQL中)。
#1
10
Use strtotime()
to convert them to UNIX time.
使用strtotime()将它们转换为UNIX时间。
E.g.:
例如:
if(strtotime($date2) - strtotime($date1) > 30) {
// $date2 is more than 30 seconds after $date1
}
or
或
if(abs(strtotime($date2) - strtotime($date1)) > 30) {
// $dates are more than 30 second apart
}
#2
2
Use strtotime() to convert both dates to a unix timestamp, then add the wanted amount of seconds to the second and do an integer comparison.
使用strtotime()将两个日期转换为unix时间戳,然后将所需的秒数添加到第二个,并进行整数比较。
#3
1
Use unixtime, instead. Just convert your date("Y-m-d h:i:s"); to date("U") or just time(). strototime() could help you with this. It shows the time in seconds since the Unix Epoch (January 1 1970 00:00:00 GMT). Then this method $unixtime + 30 will work fine as well ;)
使用unixtime,相反。只是转换你的日期(“Y-m-d h:i:s”);到日期(“U”)或只是时间()。strototime()可以帮助您解决这个问题。它显示了自Unix时代(1970年1月1日,格林尼治标准时间1月1日)以来的时间。然后这个方法$unixtime + 30也可以正常工作;
#4
1
It looks like you are trying to compare database date fields (like mysql DATETIME
). Use the database systems date and time functions to compare date values (like DATE_ADD()
or +
and with simple <
or >
in MySQL).
看起来您正在尝试比较数据库日期字段(如mysql DATETIME)。使用数据库系统的日期和时间函数来比较日期值(比如DATE_ADD()或+,并使用简单的 <或> 在MySQL中)。