注意:如果这被认为是错误的堆栈类别,我将请您将其移至正确的类别。
示例代码:
var_dump(IntlDateFormatter::formatObject(new DateTime("2020-09-09 09:09:09 Europe/Madrid"), IntlDateFormatter::FULL, 'es_ES'));
var_dump(IntlDateFormatter::formatObject(new DateTime("2020-09-09 09:09:09 Europe/Madrid"), IntlDateFormatter::LONG, 'es_ES'));输出:
string(79) "miércoles, 9 de septiembre de 2020, 9:09:09 (hora de verano de Europa central)"
string(37) "9 de septiembre de 2020, 9:09:09 CEST",我希望输出如下:
string(79) "miércoles, 9 de septiembre de 2020, 9:09"也就是说,“完整”版本(不是“长”或任何更短的版本),只是减去第二部分以及最后的"(hora de verano de Europa central)“。我并不打算str_replace或重新执行它,因为我已经知道如何做了。我指的是正确而有力的方法来做到这一点,这样它就能适用于输出非常不同文本的无数格式。
据我所知,PHP中的各种DateTime/NumberFormat/etc.类/函数没有这样的选项,但在过去经常发生的情况是,它只是巧妙地隐藏在我没有看过的地方。
发布于 2020-01-27 19:46:26
你可以用正则表达式操纵它
$date_str = IntlDateFormatter::formatObject(new DateTime("2020-09-09 09:09:09 Europe/Madrid"), IntlDateFormatter::FULL, 'es_ES');
var_dump( preg_replace( '/:[0-9]{2} .*/', '', $date_str ) );https://stackoverflow.com/questions/59937408
复制相似问题