線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1338
推到 Plurk!
推到 Facebook!

使用TDateTime時要如何每次遞增一個月或一年

尚未結案
markov
中階會員


發表:55
回覆:135
積分:53
註冊:2003-12-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-12 17:35:12 IP:61.220.xxx.xxx 未訂閱
我試著寫用for迴圈每次遞增一個小時時我用下列寫法  
TDateTime dt=Now();
TDateTime inc=TDateTime(1,0,0,0);
for(int i=0;i<20;i  )
    dt =inc;
 
但是當我想每次遞增一個月或一年時應該要怎麼寫??
kwu
中階會員


發表:10
回覆:57
積分:58
註冊:2003-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-12 20:14:57 IP:61.63.xxx.xxx 未訂閱
引言: 我試著寫用for迴圈每次遞增一個小時時我用下列寫法
TDateTime dt=Now();
TDateTime inc=TDateTime(1,0,0,0);
for(int i=0;i<20;i  )
    dt =inc;
 
但是當我想每次遞增一個月或一年時應該要怎麼寫??
markov 你好: 試試看以下程式碼,能不能解決你的問題!
  int i;
  unsigned short Year, Month, Day;      TDateTime dt = Now();      dt.DecodeDate(&Year, &Month, &Day);      //加一個月
  for (i = 0; i < 20; i  )
  {
    Month  ;
    if(Month > 12)
      Year  ;        dt = EncodeDate((Word)Year, (Word)Month, (Word)Day);
  }      //加一年
  for (i = 0; i < 20; i  )
  {
    Year  ;        dt = EncodeDate((Word)Year, (Word)Month, (Word)Day);
  }
kwu
中階會員


發表:10
回覆:57
積分:58
註冊:2003-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-12 20:23:31 IP:61.63.xxx.xxx 未訂閱
Sorry 加一個月的地方有誤!    
//加一個月
  for (i = 0; i < 20; i  )
  {
    Month  ;
    if(Month > 12)
    {         Month = 1;  //少了這一行
      Year  ;
    }        dt = EncodeDate((Word)Year, (Word)Month, (Word)Day);
  }
g6101
高階會員


發表:22
回覆:129
積分:110
註冊:2002-06-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-12 23:34:55 IP:163.29.xxx.xxx 未訂閱
markov 您好: 以下的程式碼應該是您需要的?    #include <dateutils.hpp> //====================================== TDateTime dt = Now(); //現在時間 TDateTime st; //目的時間 st = IncHour(dt); //加1小時 st = IncDay(dt); //加一天 st = IncMonth(dt); //加一個月 st = IncYear(dt); //加一年 st = IncYear(dt,int); //加若干年 //更多時間運算函式請參閱說明
DyingYoung
一般會員


發表:1
回覆:3
積分:0
註冊:2003-11-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-01-13 06:59:42 IP:61.59.xxx.xxx 未訂閱
真好奇為何當初設計時沒有把這些命令包裝進去... 呵呵 
markov
中階會員


發表:55
回覆:135
積分:53
註冊:2003-12-01

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-01-13 09:34:30 IP:61.220.xxx.xxx 未訂閱
太感謝了! 雖然kwu的方法也是可行 但是我認為這是比較土法煉鋼 所以對我比較有用的是g6101的方法 謝謝大家!
系統時間:2024-11-23 7:23:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!