會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





XC32 mktime() 問題
高級會員
註冊日期:
2011/05/27 09:38
所屬群組:
註冊會員
文章: 84
等級: 8; EXP: 12
HP : 0 / 178
MP : 28 / 3720
離線
使用 mktime 發現結果總是不對, rt1 = 1382976320, 正確應該是 1382932800.(2013年10月28日12:00:00)
當執行過 rt1 = mktime(&st1); 這一行後
st1.tm_sec = 0; --> 變為 20
st1.tm_min = 0; --> 變為 5
st1.tm_hour = 12;--> 變為 13

執行過 at1 = gmtime(&rt1);
at1->tm_sec = 20;
at1->tm_min = 5;
at1->tm_hour = 16;
at1->tm_mday = 28;
at1->tm_mon = 9;
at1->tm_year = 113;
at1->tm_wday = 1;
at1->tm_yday = 300;
at1->tm_isdst = 0;

請問問題何在?

time_t RTCTime(void)
{
struct tm st1;
struct tm *at1;
time_t rt1, rt2;

st1.tm_sec = 0;
st1.tm_min = 0;
st1.tm_hour = 12;
st1.tm_mday = 28;
st1.tm_mon = 9;
st1.tm_year = 2013-1900;
st1.tm_wday = 0;
st1.tm_yday = 0;
st1.tm_isdst = -1;

rt1 = mktime(&st1);
//t2 = (time_t)1382932800;
at1 = gmtime(&rt1);

return(rt1);
}

2015/07/20 16:22
轉換PDF檔 列印


Re: XC32 mktime() 問題
資深會員
註冊日期:
2007/06/05 21:45
所屬群組:
註冊會員
文章: 983
等級: 27; EXP: 79
HP : 0 / 669
MP : 327 / 21777
離線
試試看
struct tm *at1;

改為
struct tm at1[1];

或者
struct tm at1;
&at1 = gmtime(&rt1);

2015/07/20 17:36
轉換PDF檔 列印


Re: XC32 mktime() 問題
高級會員
註冊日期:
2011/05/27 09:38
所屬群組:
註冊會員
文章: 84
等級: 8; EXP: 12
HP : 0 / 178
MP : 28 / 3720
離線
引用:

jason680 寫道:
試試看
struct tm *at1;

改為
struct tm at1[1];

或者
struct tm at1;
&at1 = gmtime(&rt1);


感謝啦! 但在這一條就不對了.
rt1 = mktime(&st1);
目前也只需要這一條對了就可以,
我在 BCB 6.0 驗證答案是正確的 1382932800,
目的是要把在 PIC32 上記錄的資料含每一筆的時間傳到 PC 上.
使用 time_t 只佔 4 Bytes 最省空間.

2015/07/20 17:52
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2018 Winter Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project