【问题标题】:how to create date format UTC php [duplicate]如何创建日期格式UTC php [重复]
【发布时间】:2020-12-17 00:21:24
【问题描述】:

我有这种日期时间格式:

2020-08-27 19:00:00

我想转换成这种格式:
Thu Aug 27 2020 19:00:00 GMT-0500 (hora estándar de Colombia)

我的php版本是5 我可以怎么做 谢谢

【问题讨论】:

  • 任何代码尝试?格式也不是。正是您希望数据显示的方式。因此,您的代码尝试将有助于提供一些建议。
  • 没有 php 代码,我有日期,我需要转换成这种格式。
  • 它不是前面提到的“格式”。这就是数据的显示方式。我想如果你坚持你可以称之为一种格式。像“Mr. Joe Smith”、“Joe”、“Mr. Smith”和“Joe Smith”都是“格式”,我猜。 ....但是没有代码可以按照您的意图进行,不知道您在说什么。对不起。
  • DateTime 是一个可以是对象的类。是的,它可以以某些“格式”显示。你的代码在哪里? ...我明白你现在所说的“格式”是什么意思。但我没有看到任何代码。因此我之前的困惑。
  • 在javascript中代码是` startTime = new Date( Date.UTC( date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate() ) ); `

标签: php date format


【解决方案1】:

我要在这里给你一块骨头,因为日期很难。你可以使用基本的date 函数和strtotime 来做你需要的一切,诀窍是找出使用哪个formatting flags。你会在timezones 上度过一段糟糕的时光,所以准备好为此撕下一些头发。您的日期输入没有任何时区信息,因此您的输出将使用 set in your PHP instance

祝你好运。

<?php
$dateInput = '2020-08-27 19:00:00';

$time = strtotime($dateInput);

/*
Thu Aug 27, 2020 19:00 EDT-0400 (America/New_York)
The timezone will depend on what's set in your PHP instance. Look at date_default_timezone_set
*/
$output = date('D M j, Y H:i TO (e)', $time);
echo $output.PHP_EOL;

/*
Thu Aug 27, 2020 19:00 EDT-0400 (hora estándar de Colombia)
"hora estándar de Colombia" isn't a thing that php dates can do, so you have to hard code it.
Escape all non-format characters. Some are safe, but let's just nuke it from orbit. If this is more than
a one-off, write a function to escape the fancy timezone string.
*/
$output = date('D M j, Y H:i TO \(\h\o\r\a\ \e\s\t\á\n\d\a\r \d\e \C\o\l\o\m\b\i\a)', $time);

echo $output.PHP_EOL;

【讨论】:

  • 那是个大骨头罗布
  • 我感觉很慷慨。有时候你必须回馈,你知道吗?入侵地球。
  • 好的,RobRuchte。我能感觉到你
  • 大骨头,因为OP没有给出代码,因此没有理解。甚至提供了 javascript 作为参考,没有 php 代码。
猜你喜欢
  • 1970-01-01
  • 2019-12-02
  • 2014-08-08
  • 1970-01-01
  • 2017-02-07
  • 2011-04-12
  • 2019-09-27
  • 2014-03-14
  • 2020-10-08
相关资源
最近更新 更多