時間字符串轉換爲時間戳

遇到一個問題,把形如20150728102148的字符串轉換爲時間戳。在shell和awk中沒有找到解決方案,可是卻找到了一個c語言的辦法,程序以下:python

#include <time.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv ) { 
    struct tm tm; 
    char buf[255];
    char src[255];
    strptime(argv[1], "%Y%m%d%H%M%S" , &tm);
    memset(buf,0,sizeof(buf));
    strftime(buf, sizeof(buf), "%s", &tm);
    puts(buf);
    return 0;
   }

利用strptime和strftime函數就能夠實現轉換,strftime是把時間結構體轉換爲字符串,strptime相反,把字符串轉換爲時間結構體。shell

編譯後執行以下命令:函數

./convert_date_string_to_epoch 20150728102148

convert_date_string_to_epoch 是編譯後的可執行文件名。.net

python實現這個功能也比較簡單:code

python
>>> str="20150728102148"
>>> format="%Y%m%d%H%M%S"
>>> time.mktime(time.strptime(str, format) )
1438050108.0

不知道是否還有更好的方法。orm

相關文章
相關標籤/搜索