2011-11-07 99 views
0

我有一个HTML/PHP表单。在PHP中添加日期字段到时间字段

表单上的日期和时间字段是两个单独的输入框。

我想将这些加在一起形成一个PHP值。

输入框是如下:

<input type="date" id="coldate" name="coldate"> 
<input type="time" id="coltime" name="coltime"> 

我想将类似于此的代码:

$coldate=$_POST['coldate']; 
$coltime=$_POST['coltime']; 

$coldatetime=$coldate+$coltime; 
echo $coldatetime; 

我怎样才能格式化这个显示为YYYY/MM/DD HH:毫米?

此外,我可以存储这个作为一个变量来执行一些逻辑针对它吗?例如

if (now()<$coldatetime+2hours){ 
} 

在此先感谢。 瑞安

+0

你能给coldate和时间的样本? – Mob

+0

Hi @Mob。用户将输入表单2011-11-07 for coldate和10:00 for coltime。谢谢。 – Smudger

回答

3

您使用date();strtotime();格式化日期

例子:

echo date('Y/m/d g:i', strtotime("2011-11-07 10:00")); 

输出

2011/11/07 10:00 

至于用它来计算的东西,你可以将其转换为unix时间戳并使用它

date('U', strtotime("2011-11-07 10:00")); 

你做这样的事情添加“+2时间”

echo date("Y/m/d g:i", strtotime(date("Y/m/d g:i", strtotime("2011-11-07 10:00")) . " +2 hours")); 
+0

在我的情况下,这一直奏效,谢谢@Mob! $ datetime = date('Y/m/d g:i',strtotime(“$ coldate $ coltime”)); echo“datetime is”。$ datetime; 干杯, 瑞安 – Smudger

+0

会不会添加代码5小时? –

+0

@PranavHosangadi对不起。这是一个错字。 RyanSmith欢迎您 – Mob

2

我假设你会得到在后的字符串。另外,假设您已完成验证,并且$_POST['coldate']$_POST['coltime']中的值分别为有效的日期和时间字符串。你可以简单地追加字符串

$coldate=$_POST['coldate']; 
$coltime=$_POST['coltime']; 

$coldatetime=$coldate . ' ' . $coltime; 

echo date('Y/m/d g:i', strtotime($coldatetime)); 

这将做到以下几点:

  1. 创建一个有效的日期 - 时间字符串(通过附加)
  2. 日期时间字符串转换为时间戳(strtotime
  3. 格式为年/月/日小时:分钟和回声。
+0

感谢您的输入,也可以100%。 – Smudger

1
$coldate=$_POST['coldate']; 
$coltime=$_POST['coltime']; 

$coldatetime=$coldate+$coltime; 
echo $coldatetime; 

您可以使用这样

$coldatetime=$coldate." ".$coltime; 
echo $coldatetime; 

yyyy/mm/dd hh:mm格式获取日期,使用

echo date('Y/m/d h:i', strtotime($coldatetime));