Php 将单独的月、日和年值转换为时间戳
我有月值(1-12)、日值(1-31)和年值(20102011212)。我还有一个小时值和一分钟值Php 将单独的月、日和年值转换为时间戳,php,date,time,timestamp,Php,Date,Time,Timestamp,我有月值(1-12)、日值(1-31)和年值(20102011212)。我还有一个小时值和一分钟值 我怎样才能将它转换成时间戳呢?Y-m-d hh:mm可以 echo strtotime('2011-12-14 11:44 am'); cit@Pekka:)像这样使用它strotime(“YYYY-mm-DD-HH:mm-AM/PM”): 输出 给定变量$year$month$day$hour$minute,您可以执行以下操作: strtotime("$year-$month-$day $ho
我怎样才能将它转换成时间戳呢?
Y-m-d hh:mm
可以
echo strtotime('2011-12-14 11:44 am');
cit@Pekka:)像这样使用它
strotime(“YYYY-mm-DD-HH:mm-AM/PM”)
:
输出
给定变量
$year
$month
$day
$hour
$minute
,您可以执行以下操作:
strtotime("$year-$month-$day $hour:$minute");
小心用“
”括起变量,在这种情况下千万不要用”
更新(感谢@Clockwork和@Tadeck的评论):
如果存在表示一天时间(即上午或下午)的变量$timeofday
,
然后,您可以使用以下方法对其进行分析:
strtotime("$year-$month-$day $hour:$minute$timeofday");
也就是说,只需将该变量附加到文本末尾。您可以通过多种方式将其提供给函数
strotime()
,如中所述。一些示例包括:
$your_time = strtotime('12/31/2011 9:59');
$your_time = strtotime('2011-12-31 9:59');
$your_time = strtotime('December 31, 2011 9:59');
等等,它真的很灵活
您可以找到有效格式的列表,即(从上述文档中的“复合格式”列表中)例如:
10/Oct/2000:13:55:36-0700
2008:08:07 18:11:31
2008-08-0718:11:31
2008-07-01T22:35:17.02
2008-07-01T22:35:17.03+08:00
20080701T22:38:07
20080701T9:38:07
20080701t223807
20080701T093807
2008-7-1T9:3:37
(这真的是文档的副本)strotime是这项工作的最佳工具吗?是什么
既然已经知道年、月和日期,为什么还要将字符串转换为日期呢 使用功能
这不是他想要的,也许你读到了一些我无法理解的问题,但如果没有任何示例输入、输出,问题不是很清楚。他只需要strotime而不需要date@yes123:date函数仅用于回显目的,用于以人类可读的格式打印:)@A Clockwork橙色:请参阅我的答案,例如关于我们的答案我忘了说我也有一天中的某个时间(AM/PM),我能把它钉在末尾吗?@Clockwork尝试将AM/PM附加到小时上。类似这样:strotime($year-$month-$day$hour:$minute$timeOfDay))
。但这是我以前从未测试过的东西。@Nicolas我刚刚测试过,最后包括am
或pm
,工作正常(如预期)。@Clockwork和@Tadeck:我刚刚用你的评论更新了答案。任何使用PHP 5.3+的人都会发现DateCreateFromFormat
函数更灵活、更宽容:
strtotime("$year-$month-$day $hour:$minute");
strtotime("$year-$month-$day $hour:$minute$timeofday");
$your_time = strtotime('12/31/2011 9:59');
$your_time = strtotime('2011-12-31 9:59');
$your_time = strtotime('December 31, 2011 9:59');
$time = mktime($hour, $minute, 0, $month, $day, $year);
<?php
$date = new DateTime();
$date->setDate(2001, 2, 3);
echo $date->format('Y-m-d');
?>