我有一个具有以下格式的字符串输入
YYYY-MM-DD HH:mm:SS
2022-04-14 15:30:00
如何在 elixir 中将此字符串转换为 utc 格式。理想情况下我应该看起来像这样
2022-04-14T15:30:00Z
长生不老药
我试过了
DateTime.from_iso8601!("2022-04-14 15:30:00") |> DateTime.to_utc
但继续得到
函数 DateTime.from_iso8601!/1 未定义或私有。
注意错别字!函数名称是
from_iso8601
NOT 86011。它不包括!
。见https://hexdocs.pm/elixir/DateTime.html#from_iso8601/2
其次,您的输入字符串不是有效的 8601 格式字符串,因为它省略了偏移量。所以即使你指定了正确的函数名,它仍然会出错:
iex> DateTime.from_iso8601("2022-04-14 15:30:00")
{:error, :missing_offset}
如果你需要像这样解析一个字符串,你可以使用像
timex
这样的库,或者你可以手动解析字符串,例如使用正则表达式或手动解构字符串,然后调用 DateTime.new/4