将PHP中的当前日期格式设置为YYYY-MM-DD。

15

我需要将一个变量设置为当前日期,格式应该是这样的:例如:2012-05-12,我知道这是 YYYY-MM-DD 的格式吗?

我尝试过:

$date = date("yyyy-mm-dd", strtotime(now)); 

但是这并没有将日期保存到mysql,所以它显示为0000-00-00。

此字段在mysql数据库中设置为日期类型。

我在这里做错了什么?


yyyy-mm-dd 会给你 12121212-1111-1313,如 @MartinBean 所解释的一样使用 $date = date('Y-m-d'); - Peon
请记住,MySQL 中的“NOW”是一个函数,因此需要调用NOW()。而在 PHP 中,它的等效函数是称为time()的“time”函数。在您的代码中,strtotime(now)可能应该被替换为time()或者strtotime($variable_name_containing_string_date) - Mihai Stancu
@MihaiStancu 在上面的MySQL语境中,他并没有使用“now”,而是错误地将其作为PHP的strtotime()函数的字符串。 - Martin Bean
@MartinBean 我忘了strtotime有这个功能。只要他在'NOW'周围使用引号,它就应该可以工作。但是这是多余的,因为 date('Y-m-d', strtotime('NOW')) === date('Y-m-d', time()) === date('Y-m-d') - Mihai Stancu
@MihaiStancu 我知道,就像我的回答一样。 - Martin Bean
3个回答

38

14

始终检查文档,你会发现你需要的格式是:

<?php date('Y-m-d'); ?>

编辑: 此外,您不需要将时间作为第二个参数指定,因为date()默认使用当前时间。但需要注意的是,您那里的语法也是错误的,应该是strtotime('now'),因为“now”是一个字符串,需要加引号。


7

使用

$date = date("Y-m-d");

然后将$date变量保存到数据库中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接