【问题标题】:Formatting a date-time using Timex使用 Timex 格式化日期时间
【发布时间】:2017-08-01 18:31:00
【问题描述】:

我有个约会。如何通过 Times 对其进行格式化,使其成为以下格式:

Wed, 02 Oct 2002 15:00:00 +0200

Wed, 02 Oct 2002 15:00:00 GMT

Wed, 02 Oct 2002 15:00:00 EST

我试过了:

 Timex.format!(my_date, "%D, %d %M %Y %H:%i:%s T", :strftime))

但它引发了异常:

%Timex.Format.FormatError{message: {:format, "Expected end of input at line 1, column 16"}} (expected a string)

当它被转换成其他更简单的格式时,没有错误。

【问题讨论】:

标签: datetime elixir


【解决方案1】:

相信您正在寻找RFC1123 DateTime 格式:

iex(1)> Timex.now |> Timex.format!("{RFC1123}")
"Sat, 11 Mar 2017 12:04:21 +0000"
iex(2)> Timex.now |> Timex.to_datetime("America/Chicago") |> Timex.format!("{RFC1123}")
"Sat, 11 Mar 2017 06:04:50 -0600"

【讨论】:

  • 你知道为什么这个"%a, %d %b %Y %H:%M:%S %z" 给我“无效的格式字符串,必须包含至少一个指令。”?
  • 对我有用,:strftime 作为第三个参数。
【解决方案2】:
Timex.now()|> Timex.format!("%Y-%m-%d %H:%M", :strftime)

输出:2019-05-23 11:06

【讨论】:

  • 您的输出与操作所需的输出不匹配。而且,挖掘一个已经让操作人员满意的旧线程值得再次投反对票,但可惜我只能投一个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-14
  • 1970-01-01
相关资源
最近更新 更多