主要观点:
介绍了新的 Perl 模块DateTime::Format::RelativeTime
及其与 Web APIIntl.RelativeTimeFormat
的等效性,该模块仅需 Perl v5.10.1
运行,可通过多种方式使用,如提供单个或两个DateTime
对象来计算时间差并格式化相对时间,使用formatToParts
方法可获取数组引用的哈希引用以便自定义处理,支持多种语言和数字系统,numeric
选项可设置为auto
或always
,还可通过resolvedOptions
方法检查解析的选项。
关键信息:
- 模块地址:
https://metacpan.org/pod/DateTime::Format::RelativeTime
- 支持的 222 种
locales
:基于 Unicode CLDR - 另一个相关模块:
Locale::Unicode::Data
,用于获取 CLDR 数据 - 可能的
units
:year
等七种,单复数形式均可 - 支持的数字系统:除
latn
外还有 77 种,可通过Locale::Unicode::Data
查看 - Gitlab 提交问题地址:
https://gitlab.com/jackdeguest/DateTime-Format-RelativeTime/-/issues
重要细节:
- 示例代码展示了如何使用该模块进行相对时间的格式化,包括不同语言和数字系统下的情况
- 如
use DateTime::Format::RelativeTime; my $fmt = DateTime::Format::RelativeTime->new( 'en_GB', { localeMatcher => 'best fit', numberingSystem => 'latn', style => 'short', numeric => 'always', }); $fmt->format( -1, 'day' ); // "1 day ago"
等代码片段 - 说明了
numeric
为auto
时的行为,如查找时间相对术语,为always
时始终返回包含数字的格式等
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。