将 YYYY-MM-DD HH:mm:SS 转换为 utc

问题描述 投票:0回答:1

我有一个具有以下格式的字符串输入

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 未定义或私有。

datetime elixir phoenix-framework utc
1个回答
0
投票

注意错别字!函数名称是

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

© www.soinside.com 2019 - 2024. All rights reserved.