首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以为" IntlDateFormatter ::FULL“IntlDateFormatter日期/时间格式关闭”秒“和”最后的长文本“?

是否可以为" IntlDateFormatter ::FULL“IntlDateFormatter日期/时间格式关闭”秒“和”最后的长文本“?
EN

Stack Overflow用户
提问于 2020-01-27 08:17:12
回答 1查看 33关注 0票数 0

注意:如果这被认为是错误的堆栈类别,我将请您将其移至正确的类别。

示例代码:

代码语言:javascript
复制
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'));

输出:

代码语言:javascript
复制
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"

,我希望输出如下:

代码语言:javascript
复制
string(79) "miércoles, 9 de septiembre de 2020, 9:09"

也就是说,“完整”版本(不是“长”或任何更短的版本),只是减去第二部分以及最后的"(hora de verano de Europa central)“。我并不打算str_replace或重新执行它,因为我已经知道如何做了。我指的是正确而有力的方法来做到这一点,这样它就能适用于输出非常不同文本的无数格式。

据我所知,PHP中的各种DateTime/NumberFormat/etc.类/函数没有这样的选项,但在过去经常发生的情况是,它只是巧妙地隐藏在我没有看过的地方。

EN

回答 1

Stack Overflow用户

发布于 2020-01-27 19:46:26

你可以用正则表达式操纵它

代码语言:javascript
复制
$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 ) );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59937408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档