Php 如何将MM/DD/YYYY转换为YYYY-MM-DD?
我有一个jquery日历,它将输入值设置为MM/DD/YYYY 如何转换它,以便我的数据库列(日期)能够正确地接受它 编辑 戈登是对的——他的链接让我找到了这个答案Php 如何将MM/DD/YYYY转换为YYYY-MM-DD?,php,jquery,date,Php,Jquery,Date,我有一个jquery日历,它将输入值设置为MM/DD/YYYY 如何转换它,以便我的数据库列(日期)能够正确地接受它 编辑 戈登是对的——他的链接让我找到了这个答案 $mysql_date = date('Y-m-d H:i:s', strtotime($user_date)); 您想在PHP中实现这一点,对吗 使用爆炸 $christmas = "12/25/2010"; $parts = explode('/',$christmas); $yyyy_mm_dd = $parts[2] .
$mysql_date = date('Y-m-d H:i:s', strtotime($user_date));
您想在PHP中实现这一点,对吗
$christmas = "12/25/2010";
$parts = explode('/',$christmas);
$yyyy_mm_dd = $parts[2] . '-' . $parts[0] . '-' . $parts[1]
strftime
将其解析为时间戳,然后使用strftime
将其格式化为所需格式我们需要更多信息吗? 1) 将什么脚本插入到数据库中?我假设是PHP 2) 此外,我们还需要知道您是如何存储日期以及以何种格式存储的 我的解决办法是:
$dates = preg_split('/\//',$_POST['date']);
$month = $dates[0];
$day = $dates[1];
$year = $dates[2];
$finalDate = $year.'-'.$month.'-'.$day;
我建议使用
strotime()
函数,然后使用date()
。通过它,您可以转换任何格式的日期
$unix_time_stamp = strtotime($mm_dd_yyyy);
$yyyy_mm_dd = date(Y/m/d,$unix_timestamp);
我希望我的答案是有用的:)或者,您可以不使用
分解来执行此操作:
$date = "12/25/2010";
$mysql_date = date('Y-m-d', strtotime($date));
现在,您可以使用$mysql\u date
插入数据库。如果只需要一行,请尝试以下操作:
$time = "07/12/2010";
$new_time = preg_replace("!([01][0-9])/([0-9]{2})/([0-9]{4})!", "$3-$1-$2", $time);
var_dump($time);
var_dump($new_time);
试试这个:
$date = explode('/', '16/06/2015');
$new = date('Y-m-d H:i:s', strtotime(implode('-', array_reverse($date))));
返回日期:2015-06-15 00:00:00
希望这有帮助 请尝试以下代码
<?php
$date = "10/24/2014";
$date = DateTime::createFromFormat("m/d/Y" , $date);
echo $date->format('Y-m-d');
?>
真的没有这样的选项吗?我很确定大多数jQuery插件都可以配置,甚至可以配置它们的日期格式。另一个选项是保持原样,让DB用SQL语句进行转换:插入到表中(datecol)值(date_格式($YOURJQUERYDATE,“%m/%d/%Y”);重要的是要注意日期中对-
和/
的不同解释。如果你使用-
php将确定它是DD-MM,如果你使用/
php将确定它是MM-DD。只是@Devon注释上的一个注释,我不知道php是这样做的,在我看来,这确实是一种不好的做法,因为它会导致错误,因为有些地方(比如巴西)的日期格式是错误的“DD/MM/YYYY”,并且由于使用了/
,PHP将错误地将其确定为“MM-DD”。@MuriloGarcia这实际上不是PHP的错误。strotime()是一个快捷方式/帮助功能,如果您决定使用快捷方式,您需要知道它接受的格式。它不可能支持所有可能的日期格式的输入,因为不同的格式冲突。在美国,是MM/DD/YYYY,因此strotime不可能知道您何时输入2017年12月10日,即12月10日rsus 10月12日…您可以使用DateTime::createFromFormat()从任何可能的格式创建日期,也可以遵循Strotime接受的格式。我喜欢这个答案,因为它更灵活,因为PHP不需要猜测任何内容,所以您将日期格式从(m/d/Y)传递到(Y-m-d).Apreg\u
在模式中使用一个单独的静态字符的函数调用效率是可以避免的。我不建议任何人出于任何原因在任何项目中实现此技术。有更好的方法。
<?php
$date = "10/24/2014";
$date = DateTime::createFromFormat("m/d/Y" , $date);
echo $date->format('Y-m-d');
?>