繁体   English   中英

Elixir:本地系统日期格式

[英]Elixir: Local System Date Format

是否有可能找出机器在Elixir中使用的日期格式? 即dd / mm / yy或mm / dd / yy所以我们可以相应地格式化日期字符串?

您可以使用DateTime.utc_now然后格式化您想要的日期:

iex(5)> d = DateTime.utc_now  
#DateTime<2019-05-16 15:01:51.662814Z>
iex(6)> DateTime.to_string(d)
"2019-05-16 15:01:51.662814Z"
iex(7)> s = "#{d.year}/#{d.month}/#{d.day}"
"2019/5/16"

或者您可以从:calendar.local_time获取数据格式:calendar.local_time ,然后将其打印到您想要的所有内容中:

iex(12)> {{y, m, d},_} =  :calendar.local_time()
{{2019, 5, 16}, {22, 4, 29}}
iex(13)> y
2019
iex(14)> m
5
iex(15)> d
16

在“核心Elixir”中没有这样的功能,因为Elixir / Erlang没有附带locales数据,也没有提供使用系统数据的API。 相反,您需要自己获取CLDR数据并使用它,幸运的是有ex_cldr库可以为您完成。 此外,还有支持格式化日期的扩展名ex_cldr_date_times 所以最后,当您安装这两个库时,您可以使用:

Cldr.DateTime.to_string(DateTime.utc_now)

在当前语言环境中接收本地化字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM