Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将单独的月、日和年值转换为时间戳_Php_Date_Time_Timestamp - Fatal编程技术网

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

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

我有月值(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 $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');
?>