Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将日期和时间字符串解析为与Elixir';兼容的类型;什么时候开始?_Elixir_Phoenix Framework_Ecto_Timex - Fatal编程技术网

如何将日期和时间字符串解析为与Elixir';兼容的类型;什么时候开始?

如何将日期和时间字符串解析为与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

在我的Phoenix应用程序中,我有一个带有日期/时间字段的表单,该表单将日期时间值按以下格式放入参数中:

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]}