全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3366
推到 Plurk!
推到 Facebook!

月份換算幾天

尚未結案
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-16 18:00:54 IP:203.133.xxx.xxx 未訂閱
月份換算幾天.... 例92/05/06---->如何抓日是6日 92/05/06---->如何抓每月的天數,例是5月有31天 A/B=2.089 如何計算出2*30 0.89*30天
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-16 18:26:04 IP:211.21.xxx.xxx 未訂閱
引言: 月份換算幾天.... 例92/05/06---->如何抓日是6日 92/05/06---->如何抓每月的天數,例是5月有31天 A/B=2.089 如何計算出2*30 0.89*30天
  • var
      Y, M, D: Word;
    begin
      DecodeDate(Date, Y, M, D);
      //D即是捉日
    end;
    
  • 提供您一個小弟寫的funciton抓每月的天數:
    function LastDay(xDate: TDate): Word;
    var
      Y, M , D: Word;
    const aMonthLastDay: array[1..12] of word
                         =(31,28,31,30,31,30,31,31,30,31,30,31);
    begin
      DecodeDate(xDate, Y, M, D);
      if Y mod 4 = 0 then
        aMonthLastDay[2] := 29
      else
        aMonthLastDay[2] := 28;
      result := aMonthLastDay[M];
    end;
    
  • "A/B=2.089 如何計算出2*30 0.89*30天" 不懂您的意思?
~小弟淺見,參考看看~ 發表人 - channel 於 2003/06/16 18:28:27
------
~小弟淺見,參考看看~
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-16 18:40:36 IP:203.133.xxx.xxx 未訂閱
引言:
引言: 月份換算幾天.... 例92/05/06---->如何抓日是6日 92/05/06---->如何抓每月的天數,例是5月有31天 A/B=2.089 如何計算出2*30 0.89*30天
  • var
      Y, M, D: Word;
    begin
      DecodeDate(Date, Y, M, D);
      //D即是捉日
    end;
    
  • 提供您一個小弟寫的funciton抓每月的天數:
    function LastDay(xDate: TDate): Word;
    var
      Y, M , D: Word;
    const aMonthLastDay: array[1..12] of word
                         =(31,28,31,30,31,30,31,31,30,31,30,31);
    begin
      DecodeDate(xDate, Y, M, D);
      if Y mod 4 = 0 then
        aMonthLastDay[2] := 29
      else
        aMonthLastDay[2] := 28;
      result := aMonthLastDay[M];
    end;
    
  • "A/B=2.089 如何計算出2*30 0.89*30天" 不懂您的意思?
~小弟淺見,參考看看~ 發表人 - channel 於 2003/06/16 18:28:27
A/B=2.089 如何計算出2*30 0.89*30天 即2.089月要算共幾天,
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-16 19:06:05 IP:211.74.xxx.xxx 未訂閱
給個觀念 取得某月的最後一天,可以先取得下一個月的第一天 再減 1 就可取得,當月的最後一天    channel 給的function 很方便 但是遇到閏年就有問題了 2 月也會出現29 天    
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-16 19:22:34 IP:211.21.xxx.xxx 未訂閱
引言: A/B=2.089 如何計算出2*30 0.89*30天 即2.089月要算共幾天,
var
  aDay: Integer;
begin
  aDay := StrToInt(FormatFloat('#0',2.089*30));
end;
不過這樣算出來只是一個近似值吧! ddy兄: 小弟的function有加上判斷閏年的算法呀!如下:
  if Y mod 4 = 0 then
    aMonthLastDay[2] := 29
  else
    aMonthLastDay[2] := 28;
不過您說:「取得某月的最後一天,可以先取得下一個月的第一天再減 1 就可取得,當月的最後一天」,又讓我偷學一招,長知識了,感謝前輩的指導!
------
~小弟淺見,參考看看~
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-06-16 19:28:23 IP:203.133.xxx.xxx 未訂閱
引言:
引言: A/B=2.089 如何計算出2*30 0.89*30天 即2.089月要算共幾天,
var
  aDay: Integer;
begin
  aDay := StrToInt(FormatFloat('#0',2.089*30));
end;
不過這樣算出來只是一個近似值吧! ddy兄: 小弟的function有加上判斷閏年的算法呀!如下:
  if Y mod 4 = 0 then
    aMonthLastDay[2] := 29
  else
    aMonthLastDay[2] := 28;
不過您說:「取得某月的最後一天,可以先取得下一個月的第一天再減 1 就可取得,當月的最後一天」,又讓我偷學一招,長知識了,感謝前輩的指導! < face="Verdana, Arial, Helvetica"> A/B=2.089 如何寫?
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-06-16 19:38:51 IP:202.39.xxx.xxx 未訂閱
取得某年某月的天數: MonthDays[IsLeapYear(AYear)][AMonth];    --- 每個人都是一本書
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-06-16 19:42:43 IP:202.39.xxx.xxx 未訂閱
A/B=2.089 這部份:      Trunc(A/B)*30 + Frac(A/B)*30    --- 每個人都是一本書
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-06-16 23:03:04 IP:211.74.xxx.xxx 未訂閱
引言: ddy兄: 小弟的function有加上判斷閏年的算法呀!如下: if Y mod 4 = 0 then aMonthLastDay[2] := 29 else aMonthLastDay[2] := 28;
channel 兄,不好意思啦~~小弟一時眼花…沒看到…沒看到~~sorry 啦< > 唉~~我今天是怎麼了< >
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-06-17 10:52:03 IP:203.133.xxx.xxx 未訂閱
引言:
引言: 月份換算幾天.... 例92/05/06---->如何抓日是6日 92/05/06---->如何抓每月的天數,例是5月有31天 A/B=2.089 如何計算出2*30 0.89*30天
  • var
      Y, M, D: Word;
    begin
      DecodeDate(Date, Y, M, D);
      //D即是捉日
    end;
    
  • 提供您一個小弟寫的funciton抓每月的天數:
    function LastDay(xDate: TDate): Word;
    var
      Y, M , D: Word;
    const aMonthLastDay: array[1..12] of word
                         =(31,28,31,30,31,30,31,31,30,31,30,31);
    begin
      DecodeDate(xDate, Y, M, D);
      if Y mod 4 = 0 then
        aMonthLastDay[2] := 29
      else
        aMonthLastDay[2] := 28;
      result := aMonthLastDay[M];
    end;
    
  • "A/B=2.089 如何計算出2*30 0.89*30天" 不懂您的意思?
~小弟淺見,參考看看~ 發表人 - channel 於 2003/06/16 18:28:27
var Y, M, D: Word; begin DecodeDate(Date, Y, M, D); //D即是捉日 end; 如何抓到M--->轉成STRING的
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-06-17 11:00:49 IP:202.39.xxx.xxx 未訂閱
var
  Y, M, D: Word;
begin
  DecodeDate(Date, Y, M, D);
  ShowMessage(ShortMonthNames[M]);
  ShowMessage(LongMonthNames[M]);
end;
--- 每個人都是一本書
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-06-17 11:19:27 IP:203.133.xxx.xxx 未訂閱
引言:
var
  Y, M, D: Word;
begin
  DecodeDate(Date, Y, M, D);
  ShowMessage(ShortMonthNames[M]);
  ShowMessage(LongMonthNames[M]);
end;
--- 每個人都是一本書
var sDAY,double:double; var D:word 可以用以下做(-)運算嗎? sDAY:=dDAY - D;
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-06-17 11:41:22 IP:202.39.xxx.xxx 未訂閱
自己測一下就知道啦!    --- 每個人都是一本書
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-06-17 12:56:23 IP:152.104.xxx.xxx 未訂閱
有關 Date 的運用 Delphi 提供一個 Unit ---> DateUtils 內有很多有關日期的運用,可以好好參考
vivi666666
初階會員


發表:83
回覆:94
積分:35
註冊:2003-03-05

發送簡訊給我
#15 引用回覆 回覆 發表時間:2003-06-27 08:55:30 IP:203.69.xxx.xxx 未訂閱
引言: 有關 Date 的運用 Delphi 提供一個 Unit ---> DateUtils 內有很多有關日期的運用,可以好好參考
感謝大家的回答..
系統時間:2024-06-02 10:03:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!