2017-08-31 66 views
0

我是Elixir的新手,想知道是否有方法檢查字符串是否爲日期而不必編寫自己的使用正則表達式的函數?檢查字符串是否爲Elixir中的日期

+0

什麼是日期字符串的格式? – Mike

+0

字符串可以是任何日期時間格式 –

+0

限制您的潛在輸入格式是很好的,因爲它們可能會發生衝突。例如,「05-06-2017」可能在5月6日或6月5日有效,具體取決於你來自哪個地區。 –

回答

1

我想你最適合的選擇可能是Timex.parse,但你可以提供日期格式的信息。

如果你有更復雜的格式,恐怕使用你自己的「日期時間助手」將是必要的。

1

它取決於解析字符串中日期的格式。 Elixir的標準庫包含Date.from_iso8601,可以使用如下所示:

def is_date?(date) do 
    case Date.from_iso8601(date) do 
    {:ok, _} -> true 
    _ -> false 
    end 
end 

如果你期待另一種格式的字符串,然後Timex庫可能對您有用,因爲它允許指定格式的分析字符串。例如:

def is_date?(date) do 
    case Timex.format(date, "{ISO:Extended}") do 
    {:ok, _} -> true 
    _ -> false 
    end 
end