8

我正在创建一个表单来设置发布间隔,并希望将所有提交的值汇总为秒。该表单由用于确定秒、分钟、小时、天等的字段组成。

我通过提供日期属性(如秒、分钟等)将提交的值收集到字符串中。

例如:

$秒秒

$分钟分钟

$小时一小时

因此,如果用户在输入字段中输入 1 来确定 inday和 30 in的间隔minute,那么我的代码会将其转换为字符串1 day30 minute

我的问题:

1-如何将它们转换1 day30 minute秒数,以便将它们总结为正确的秒数。

我尝试使用strtotime(),但它返回的秒数非常多,date()但它返回的数字太小。

2-是否有一个简单的函数strtotime()可以date()正确地进行字符串到秒的转换?

4

2 回答 2

41

您可以使用strtotime()第二个参数,如下所示:

strtotime('1 day 30 second', 0);

这将为您提供864301 天 30 秒内的秒数。

(如果省略第二个参数,则使用当前时间戳(即time())添加字符串中指定的内容,从而导致大数字。)

于 2013-12-15T16:41:10.263 回答
1

试试下面的代码:

$day = 1;
$hour = 1;
$minute = 1;
$second = 0;
$second += (($day * 24 + $hour) * 60 + $minute) * 60;
于 2013-12-15T16:43:01.030 回答