[問題] 字串轉時間

作者: xucin (vegetable)   2015-05-12 17:20:03
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
餵入的資料(Input):
一堆時間sring ex20130102010203 2013年01月02號01點02分03秒
預期的正確結果(Expected Output):
把時間做運算ex全部+2分鐘 輸出 20130102010403
錯誤結果(Wrong Output):
連long int都沒辦法放下這麼大的數字
sring.h中沒有可以把前面20130102去掉的函式
程式碼(Code):(請善用置底文網頁, 記得排版)
想不到甚麼邏輯可以寫
補充說明(Supplement):
請問有甚麼方法可以達到這個目標嗎?
作者: aiwhat   2015-05-12 17:32:00
long long int?
作者: xucin (vegetable)   2015-05-12 17:39:00
沒辦法..
作者: MOONRAKER (㊣牛鶴鰻毛人)   2015-05-12 17:40:00
沒有函式就自己寫阿 C語言給你那麼多字串函數夠用了還是你是用"sring.h"所以找不到函數 那沒辦法 完蛋了
作者: EdisonX (卡卡獸)   2015-05-12 17:55:00
我的作法 , 抽出 year,month,day,hour,min,secs, 塞進
作者: kwpn (ITSST)   2015-05-12 17:56:00
先把字串轉成時間單位,加2分鐘,再轉回字串就好了時間是指time_t, FILETIME, std::chrono::system_clock::time_point, 或boost的也有兩種, 這些都是可以直接加duration的
作者: EdisonX (卡卡獸)   2015-05-12 17:58:00
struct tm, mktime 轉 time_t x , x+=120 , 要再轉給人看的話用 localtime ..
作者: shadow0326 (非議)   2015-05-12 18:00:00
你會用sscanf嗎
作者: yvb   2015-05-12 19:14:00
strptime() => tm_min+=2 => mktime() => strftime()mktime()/timelocal()/timegm() 可以處理日期時間進位問題.而且可以都只看 struct tm, 不用管 time_t 的部分.

Links booklink

Contact Us: admin [ a t ] ucptt.com