我有一个函数(名为 test ),它返回一个日期
我举一个这样的回报的例子:“01-Jun-2012”
现在我想以月/年的形式提出这个日期
所以“01-Jun-2012”应该变成“06/2012”
因为我想使用此日期发送短信
send(To,Date) ->
Message =io_lib_format("pr%EAt %E0 payer le ~s",[Date]),
Url = io_lib:format("http://192.168.1.8/sendsms?tel=~s&text=~s", [To, Message]),
http:request(lists:flatten(Url), sms).
正如我所说,功能测试以此形式返回日期“01-Jun-2012”
我应该将此表单转换为另一种形式月/年(结果是我的例子06/2012)
我认为我应该开发一个函数,该函数以此形式作为参数(日 - 月 - 年)作为此函数的结果,以此形式显示月份/年
请注意,我给你的日期应该转换的相同例子:02-Jan-2012,01-Feb-2012,01-Mar-2012,02-Apr-2012,01-May-2012,01-Jun -2012
按照我说的功能的测试返回这种过时(在的测试的代码我为了返回这种日期的执行http请求天月 - 年(是PHP脚本的回归,
谢谢,但是当我使用ec_date进行测试时:解析我有这个错误** exception error: undefined function ec_date:parse/1
请注意,我使用的是erlang的第13版
Erlang R13B03 (erts-5.7.4) [source] [rq:1] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.7.4 (abort with ^G)
答案 0 :(得分:1)
查看ec_date in erlware_commons,它是dh_date的分支。 (两者都完全有效,但我个人使用ec_date变体)/
它们都可用于此目的:解析和格式化日期。
> OrigDate = "01-Jun-2012",
> ParsedDate = ec_date:parse(OrigDate),
> FinalDate = ec_date:format("m/Y",ParsedDate).
"06/2012"
答案 1 :(得分:0)
string:split/2
,string:to_lower/1
和一个类似的函数的组合:
month("jan") -> 1;
...
month("dec") -> 12.
应该有效。还要搜索github,因为你的格式可能已经有了日期解析模块......有了测试。