2012-03-19 28 views
0

由於某種原因,需要將sql時間戳YYYY-MM-DD HH:MM:SS轉換成erlang時間格式{{Y,M,D},{H,M,S}} 。erlang中的odbc datetime轉換

幸運的是,當我查詢數據庫時,返回值已經形成爲{{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. 

它的工作原理,但我不喜歡它。有沒有其他方法可以做到這一點?

回答

1

那麼使用lib_io:格式()將清理了一下:

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