由于某种原因,需要将sql时间戳yYYY-MM-DD HH:MM:SS转换为erlang时间形式{{Y,M,D},{H,M,S}}。
幸运的是,当我查询数据库时,返回值已经形成为{{Y,M,D},{H,M,S}}。
喜欢:
[{4,null,null,null,null,
{{2012,12,17},{14,54,4}}, % time-stamp already convert
% from 2012-12-17 14:54:04
0,678,51,61}]
然后还需要将erlang时间形式{{Y,M,D},{H,M,S}}转换为SQL时间戳形式YYYY-MM-DD HH:MM:SS, 在一些搜索之后,没有这样的直接功能。 所以我写下如下的乐趣
my_time() ->
{{Y,Mo,D},{H,Mi, S}} = erlang:localtime(),
TSString =
integer_to_list(Y)++"-"++
integer_to_list(Mo)++"-"++
integer_to_list(D)++" "++
integer_to_list(H) ++ ":" ++
integer_to_list(Mi) ++ ":" ++
integer_to_list(S),
TSString.
它有效,但我不喜欢它。有没有其他方法可以做到这一点?
答案 0 :(得分:1)
使用lib_io:format()会稍微清理一下:
my_time() ->
{{Y,Mo,D},{H,Mi, S}} = erlang:localtime(),
io_lib:format("~4.10.0B-~2.10.0B-~2.10.0B ~2.10.0B:~2.10.0B:~2.10.0B", [Y, Mo, D, H, Mi, S]).