使用PHP转换日期字符串
我需要使用PHP将日期字符串转换为类似bellow的格式使用PHP转换日期字符串,php,date,Php,Date,我需要使用PHP将日期字符串转换为类似bellow的格式 2015-07-30T08:05:00.917Z 我试着用下面的代码转换 echo str_replace('+00:00', '.917Z', gmdate('c', strtotime('2016-04-05 00:00:00'))); 这将创建2016-04-05T00:00:00.917Z这是不正确的,是否有任何函数可以创建类似此格式的日期?有两种方法可以从字符串创建日期 1. date_create_from_format
2015-07-30T08:05:00.917Z
我试着用下面的代码转换
echo str_replace('+00:00', '.917Z', gmdate('c', strtotime('2016-04-05 00:00:00')));
这将创建
2016-04-05T00:00:00.917Z
这是不正确的,是否有任何函数可以创建类似此格式的日期?有两种方法可以从字符串创建日期
1. date_create_from_format
$date=date_create_from_format("DATE_FORMAT",$dateString);
2. $date=new DateTime();
$date=$date->createFromFormat("DATE_FORMAT", $dateString);
使用以下链接获取您的日期格式
有两种方法可以从字符串创建日期
1. date_create_from_format
$date=date_create_from_format("DATE_FORMAT",$dateString);
2. $date=new DateTime();
$date=$date->createFromFormat("DATE_FORMAT", $dateString);
使用以下链接获取您的日期格式
你可以像@Alok在回答中提到的那样做。 或者类似地使用以下代码
$date = DateTime::createFromFormat('U.u', microtime(TRUE));
echo $date->format('Y-m-d\TH:i:s.u\Z');
请注意,您的问题中提到的微秒是3位数。但通常php日期格式化以6位精度输出微秒
与上述代码一样,输出2016-04-06T09:24:50.830000Z
因此,如果数字精度很重要,我认为你必须在那里做一些修改。你可以像@Alok在回答中提到的那样做。 或者类似地使用以下代码
$date = DateTime::createFromFormat('U.u', microtime(TRUE));
echo $date->format('Y-m-d\TH:i:s.u\Z');
请注意,您的问题中提到的微秒是3位数。但通常php日期格式化以6位精度输出微秒
与上述代码一样,输出2016-04-06T09:24:50.830000Z
因此,如果数字精度很重要,我认为您必须在那里进行一些修改。通过函数formatTime传递它。这将在PHP中创建一个名为$date的新DateTime对象,如果需要,还可以轻松地对其进行操作。下面的示例以两种不同的方式格式化日期,两种方式都有效 程序风格:
function formatTime($millis) {
$date = new DateTime($millis);
return date_format($date, 'l, jS F Y \a\t g:ia');
}
function formatTime($millis) {
$date = new DateTime($millis);
return $date->format('l, jS F Y \a\t g:ia');
}
面向对象风格:
function formatTime($millis) {
$date = new DateTime($millis);
return date_format($date, 'l, jS F Y \a\t g:ia');
}
function formatTime($millis) {
$date = new DateTime($millis);
return $date->format('l, jS F Y \a\t g:ia');
}
日期格式可在以下链接中找到:
希望这有帮助 通过函数formatTime传递它。这将在PHP中创建一个名为$date的新DateTime对象,如果需要,还可以轻松地对其进行操作。下面的示例以两种不同的方式格式化日期,两种方式都有效 程序风格:
function formatTime($millis) {
$date = new DateTime($millis);
return date_format($date, 'l, jS F Y \a\t g:ia');
}
function formatTime($millis) {
$date = new DateTime($millis);
return $date->format('l, jS F Y \a\t g:ia');
}
面向对象风格:
function formatTime($millis) {
$date = new DateTime($millis);
return date_format($date, 'l, jS F Y \a\t g:ia');
}
function formatTime($millis) {
$date = new DateTime($millis);
return $date->format('l, jS F Y \a\t g:ia');
}
日期格式可在以下链接中找到:
希望这有帮助
echo(新日期时间('2016-04-05 00:00:00'))->格式('Y-m-d\TH:i:s.917\Z')
.917
是您发布日期的毫秒数。您的输入日期不包含有关毫秒的信息,您不应向其添加.917
,而应附加.000
或使用支持毫秒的函数()echo(新日期时间('2016-04-05 00:00:00'))->格式('Y-m-d\TH:i:s.917\Z')
.917
是您发布日期的毫秒数。您的输入日期不包含有关毫秒的信息,您不应向其添加.917
,而应附加.000
或使用支持毫秒的函数()