Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何转换字符串";290416“;php中的日期格式_Php_String_Date Format - Fatal编程技术网

如何转换字符串";290416“;php中的日期格式

如何转换字符串";290416“;php中的日期格式,php,string,date-format,Php,String,Date Format,我需要转换字符串值“290416”,它实际上是日期,但格式不正确。我需要更改日期格式,如2016年4月29日。 请提供帮助。最可靠的方法是使用,传入您的格式和字符串,您有一个DateTime对象,可以用它做很多事情 define('MY_DATE_INPUT_FORMAT', 'mdy'); define('MY_DATE_OUTPUT_FORMAT', 'm/d/y'); $inputDateString = '042916'; $dateObj = DateTime::createFromF

我需要转换字符串值“290416”,它实际上是日期,但格式不正确。我需要更改日期格式,如2016年4月29日。
请提供帮助。

最可靠的方法是使用,传入您的格式和字符串,您有一个DateTime对象,可以用它做很多事情

define('MY_DATE_INPUT_FORMAT', 'mdy');
define('MY_DATE_OUTPUT_FORMAT', 'm/d/y');
$inputDateString = '042916';
$dateObj = DateTime::createFromFormat(MY_DATE_INPUT_FORMAT, $inputDateString);
$outputString = $dateObj->format(MY_DATE_OUTPUT_FORMAT);
这也可以按程序进行:

$date = date_create_from_format(MY_DATE_INPUT_FORMAT, $inputDateString);
echo date_format($date, MY_DATE_OUTPUT_FORMAT);

如果您不需要它作为日期,但只需要在日期格式。这意味着您没有对其执行任何日期函数,而只是将其显示为您可以使用的日期

$str = '290416';
$arr = str_split($str, 2);
$date_string = $implode('/', $arr);

@fusion3k您应该将此作为答案发布-它是正确的。是的,它很有效。非常感谢@fusion3k您可以将其作为您的答案发布。谢谢,它也很有效。但是$datet=DateTime::createFromFormat('dmy','290416')->格式('d/m/y');也起作用