将单独的月,日和年值转换为时间戳

A C*_*nge 12 php time timestamp date

我有月值(1-12),日值(1-31)和年值(2010,2011,2012).我还有一个小时值和一分钟值.

我怎样才能strtotime()将它转换为时间戳?

Nic*_*ica 15

鉴于$year $month $day $hour $minute你可以做的变量:

strtotime("$year-$month-$day $hour:$minute");
Run Code Online (Sandbox Code Playgroud)

小心将变量括起来",在这种情况下永远不会'.

更新(感谢@Clockwork和@Tadeck的评论):

如果有一个变量$timeofday代表一天中时间(即AM或PM),那么你可以用以下方法解析它:

strtotime("$year-$month-$day $hour:$minute$timeofday");
Run Code Online (Sandbox Code Playgroud)

也就是说,只需将该变量附加到文本的末尾即可.

  • @Clockwork尝试将am/pm附加到小时.这样的事情:`strtotime("$ year- $ month- $ day $ hour:$ minute $ timeOfDay");`.但这是我以前从未测试过的东西. (2认同)

Mad*_*tha 10

为什么在您已经知道年月和日期时将字符串转换为日期.

使用setDate功能

<?php
$date = new DateTime();
$date->setDate(2001, 2, 3);
echo $date->format('Y-m-d');
?>
Run Code Online (Sandbox Code Playgroud)


小智 7

strtotime这项工作是最好的工具吗?怎么样mktime()

$time = mktime($hour, $minute, 0, $month, $day, $year);
Run Code Online (Sandbox Code Playgroud)