1

我有一个返回日期的函数(名为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:parse 进行测试时出现此错误 ** 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)
4

2 回答 2

1

查看erlware_commons 中的 ec_date,它是dh_date的一个分支。(两者都是完全有效的,但我个人使用 ec_date 变体)/

它们都可以用于这个目的:解析和格式化日期。

> OrigDate = "01-Jun-2012",
> ParsedDate = ec_date:parse(OrigDate),
> FinalDate = ec_date:format("m/Y",ParsedDate).
"06/2012"
于 2013-01-06T05:33:06.220 回答
0

的组合string:split/2,string:to_lower/1和一个看起来像这样的函数:

month("jan") -> 1;
...
month("dec") -> 12.

应该管用。还要搜索 github,因为那里可能已经有适合您格式的日期解析模块......带有测试。

于 2013-01-06T01:09:00.333 回答