如何将日期和时间字符串解析为与Elixir';兼容的类型;什么时候开始?
在我的Phoenix应用程序中,我有一个带有日期/时间字段的表单,该表单将日期时间值按以下格式放入参数中:如何将日期和时间字符串解析为与Elixir';兼容的类型;什么时候开始?,elixir,phoenix-framework,ecto,timex,Elixir,Phoenix Framework,Ecto,Timex,在我的Phoenix应用程序中,我有一个带有日期/时间字段的表单,该表单将日期时间值按以下格式放入参数中: 2016-11-30 20:00 我可以使用库解析它: 其结果是: {:ok, ~N[2016-11-30 20:00:00]} “~N[2016-11-30 20:00:00]”是一个“原始”日期时间值,不包括时区。问题是:此值类型与exto.DateTime不匹配,所以我无法将其放入变更集中并保存到数据库中 问题:如何将字符串中的日期和时间解析为具有特定时区(例如美国/东部)的EX
2016-11-30 20:00
我可以使用库解析它:
其结果是:
{:ok, ~N[2016-11-30 20:00:00]}
“~N[2016-11-30 20:00:00]”是一个“原始”日期时间值,不包括时区。问题是:此值类型与exto.DateTime不匹配,所以我无法将其放入变更集中并保存到数据库中
问题:如何将字符串中的日期和时间解析为具有特定时区(例如美国/东部)的EXTO.DateTime值?虽然有许多方法可以从naỉve值中生成与EXTO兼容的值,但有一个更健壮的解决方案:
它的源代码可能会激励所有仍想在内部重新实现轮子的人。太好了,谢谢你-这很有效。我将字段类型从EXTO.DateTime更改为Timex.EXTO.DateTime,然后我必须确保我的DateTime值格式正确,带有时区:“2016-12-01 12:00:00-0500”或“2016-12-01 12:00:00Z”。在我的项目中修复它的提交:
{:ok, ~N[2016-11-30 20:00:00]}