如何在PHP中将Y-m-DH:i:s转换为Y-m-d?
如何在PHP中将Y-m-DH:i:s转换为Y-m-d 我有如何在PHP中将Y-m-DH:i:s转换为Y-m-d?,php,date,time,Php,Date,Time,如何在PHP中将Y-m-DH:i:s转换为Y-m-d 我有 $date = "2011-08-10 20:40:12"; 我想把它转换成 $output = "2011-08-10"; 提前感谢。操作简单,还可以更改为您可能需要的任何其他日期格式 $old_date = "2011-08-10 20:40:12"; $new_date = date("Y-m-d", strtotime($old_date)); echo $new_date; // Prints 2011-08-10 只
$date = "2011-08-10 20:40:12";
我想把它转换成
$output = "2011-08-10";
提前感谢。操作简单,还可以更改为您可能需要的任何其他日期格式
$old_date = "2011-08-10 20:40:12";
$new_date = date("Y-m-d", strtotime($old_date));
echo $new_date;
// Prints 2011-08-10
只需将日期格式用于date only,并将字符串转换为时间戳即可。好的,一种简单的方法如下(如果您已经在字符串中获取了日期): 这意味着你在“2011-08-1020:40:12”中抓取了前10个字符,剩下的是“2011-08-10” 快/脏:
$output = substr('2011-08-10 20:40:12', 0, 10);
略为稳健:
$output = date('Y-m-d', strtotime('2011-08-10 20:40:12'));
相当可靠:
$output = DateTime::createFromFormat('Y-m-d h:i:s', '2011-08-10-20:40:12')->format('Y-m-d');
另一个被认为不太好的解决方案是简单地执行子字符串:
$newDate = substr($date, 0, 10)
您可以使用内置的php日期格式函数: 为此:
$date = date_format($date, 'Y-m-d');
迄今为止,我更喜欢
strftime
,因为它的格式输入与C和其他语言的格式输入相匹配
$output = strftime( '%Y-%m-%d', strtotime( $date) );
尝试:
如果它们由空格分隔,则可以使用“分解”来分隔它们。对使用“分解”的方法进行调整,以便将其转换为一行: 列表($date)=分解(“”,$date) 列表功能对于日期非常方便 使用列表的另一个示例: 列表($year,$month,$day)=爆炸('',$date) 此外,除非字符串中包含变量,否则最好在字符串中使用“而不是” e、 g
- “雅达”
- “必应”
- “你好{$bob}”
这应该非常有用。该死的,你们太快了!这一个已经被贴出来了,我不是唯一一个在PHP 5.5.4上第三种情况下这么简单的人!:-)致命错误:找不到类'Date',但是DateTime::createFromFormat()有效。啊,是的。很好的捕获。谢谢。修复了答案。它给出的错误无法转换数组中的字符串偏移量。
$date = date_format($date, 'Y-m-d');
$output = strftime( '%Y-%m-%d', strtotime( $date) );
$date = explode(" ",$date);
$output = $date[0];
$old_date = "2011-08-10 20:40:12";
$new_date = date("Y-m-d", strtotime($old_date));
echo $new_date;
// Prints 2011-08-10