【问题标题】:set datetime value in input html from php在来自 php 的输入 html 中设置日期时间值
【发布时间】:2014-06-08 09:04:42
【问题描述】:

我只是尝试为输入设置一个值日期时间(它用于更改变量日期时间的当前值),但我的 html 显示错误(似乎是格式错误):

代码是:

<input type="datetime" name="deadline" required value ='<?php echo date('c', $dateDeadline); ?>'/>

非常感谢。

【问题讨论】:

  • 在您当前的代码中,$dateDeadline 未定义,可能不在 unix 时间
  • $dateDeadline 的值为 '2014-06-21 12:32:0'
  • 如果它被定义,你应该用<?php echo date('c', strtotime($dateDeadline));包装它

标签: php html datetime input


【解决方案1】:

如果确实定义了$dateDeadiline,则应使用strtotime() 包装它。

manual

string date ( string $format [, int $timestamp = time() ] )

您应该提供timestamp,而不是字符串日期。考虑这个例子:

<?php
$dateDeadiline = '2014-06-21 12:32:00';
?>
<input type="datetime" name="deadline" required value="<?php echo date('c', strtotime($dateDeadiline)); ?>" />

使用DateTime 类和时区:

<?php $date = new DateTime('2014-06-21 12:32:00', new DateTimeZone('America/New_York')); ?>
<input type="datetime" name="deadline" required value="<?php echo $date->format('c'); ?>" />

有关支持的时区列表,您可以查看此链接:

http://www.php.net//manual/en/timezones.php

【讨论】:

  • 如果我想设置一个日期时区?我尝试转换为相同的格式,但输入不显示它。如果我在另一个站点中显示日期格式与输入要求相同:21/06/2014 12:32 和输入要求 dd/mm/aa --:--
  • @user3157778 如果您想设置时区,您可能想查看DateTime 类,因为它比当前的解决方案更灵活。检查我的编辑
【解决方案2】:

您正在为您的值属性使用单引号,这与您的 PHP 代码冲突。试试这个:

<input type="datetime" name="deadline" required value="<?php echo date('c', $dateDeadline); ?>" />

【讨论】:

    猜你喜欢
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多