在PHP中:如何在字符串中以UTC格式存储当前时间/日期?

在PHP中:如何在字符串中以UTC格式存储当前时间/日期?,php,datetime,utc,Php,Datetime,Utc,例如: $date='Wed,Feb 18 2009 16:03:52 GMT' //如何使$date以相同格式等于当前时间?我不确定是否完全理解,但如果您只想转换字符串,可以使用strotime()我不确定是否完全理解,但如果您只想转换字符串,可以使用strotime()我想你是说如何获得类似的格式?由于预定义的日期常量中没有精确匹配,因此可以这样做: $date = gmdate('D, j M Y H:i:s e'); 这将以与“Wed,Feb 18 2009 16:03:52 GMT”

例如:

$date='Wed,Feb 18 2009 16:03:52 GMT'


//如何使$date以相同格式等于当前时间?

我不确定是否完全理解,但如果您只想转换字符串,可以使用
strotime()
我不确定是否完全理解,但如果您只想转换字符串,可以使用
strotime()

我想你是说如何获得类似的格式?由于预定义的日期常量中没有精确匹配,因此可以这样做:

$date = gmdate('D, j M Y H:i:s e');
这将以与“Wed,Feb 18 2009 16:03:52 GMT”相同的格式返回当前日期和时间

编辑

GMT和UTC(在正常情况下)是完全可互换的,由于gmdate总是返回GMT/UTC日期,因此您可以使用以下方法:

$date = gmdate('D, j M Y H:i:s').' GMT';
或者,事实证明,你可以用T代替e来获得GMT:

$date = gmdate('D, j M Y H:i:s T');

我想你的意思是如何得到类似的格式?由于预定义的日期常量中没有精确匹配,因此可以这样做:

$date = gmdate('D, j M Y H:i:s e');
这将以与“Wed,Feb 18 2009 16:03:52 GMT”相同的格式返回当前日期和时间

编辑

GMT和UTC(在正常情况下)是完全可互换的,由于gmdate总是返回GMT/UTC日期,因此您可以使用以下方法:

$date = gmdate('D, j M Y H:i:s').' GMT';
或者,事实证明,你可以用T代替e来获得GMT:

$date = gmdate('D, j M Y H:i:s T');

查看DateTime的Carbon-PHPAPI扩展 (链接-)

您可以按如下方式访问各个值

$y = $now->year;
$h = $now->hour; // and so no
$str_date = $now->format('D, d M Y H:i:s T'); // "Mon, 27 Apr 2015 22:12:30 UTC"
而您可以使用format()获取预期的日期格式,如下所示

$y = $now->year;
$h = $now->hour; // and so no
$str_date = $now->format('D, d M Y H:i:s T'); // "Mon, 27 Apr 2015 22:12:30 UTC"

查看DateTime的Carbon-PHPAPI扩展 (链接-)

您可以按如下方式访问各个值

$y = $now->year;
$h = $now->hour; // and so no
$str_date = $now->format('D, d M Y H:i:s T'); // "Mon, 27 Apr 2015 22:12:30 UTC"
而您可以使用format()获取预期的日期格式,如下所示

$y = $now->year;
$h = $now->hour; // and so no
$str_date = $now->format('D, d M Y H:i:s T'); // "Mon, 27 Apr 2015 22:12:30 UTC"

看起来不错,但我正在尝试填充关于格式非常具体的web标题的值。上面的函数返回如下内容:星期二,2009年12月15日20:59:04 UTC您知道为什么在末尾使用UTC而不是th GMT吗?如果我可以做些什么来将其改为GMT吗?我的版本要短得多;-)@stormist:只需将“e”改为“T”:$date=gmdate('D,jmmy H:i:st');“e”是标识符(“UTC”、“America/Chicago”)而“T”是缩写(“GMT”、“CST”)。看起来不错,但我正在尝试填充关于格式非常具体的web标题值。上面的函数返回如下内容:星期二,2009年12月15日20:59:04 UTC您知道为什么在末尾使用UTC而不是th GMT吗?如果我可以做些什么来将其改为GMT吗?我的版本要短得多;-)@stormist:只需将“e”改为“T”:$date=gmdate('D,jmmy H:i:st');“e”是标识符(“UTC”,“America/Chicago”),而“T”是缩写(“GMT”,“CST”)。RFC 822 returnf例如:“Mon,8月15日,05:15:52:01+0000”,并不完全是OP想要的。Tatu击败了我,尽管我确实检查了它,但尝试得不错。RFC 822 returnf例如:“Mon,8月15日,05:52:01+0000”,不完全是OP想要的。塔图打败了我,很好的尝试,尽管我确实检查过