2012-03-19 5 views
0

何らかの理由で、SQLタイムスタンプYYYY-MM-DD HH:MM:SSをerlang時刻形式{{Y、M、D}、{H、M、S}}に変換する必要があります。 。odbc datetime convert in erlang

幸いにも私がデータベースに照会すると、戻り値は{{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}] 

、その後はまた、SQLタイムスタンプフォームYYYY-MM-DD HHにアーラン時間フォーム{{Y、M、D}、{H、M、S}}変換する必要: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. 

の下のような楽しさを書くが、私はそれを好きではありません。これを行うための他の方法はありますか?まあlib_ioを使用して

答えて

1

:()フォーマットは少しそれをクリーンアップします:

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]).