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

Delphi5.0如何知道每月最後一個工作日是幾月幾號

尚未結案
shelly.hong
一般會員


發表:6
回覆:1
積分:1
註冊:2003-01-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-16 18:43:04 IP:203.75.xxx.xxx 未訂閱
請教各位大大: Delphi5.0如何知道每月最後一個工作日是幾月幾號 例如:2004/7最後一個工作日為7/30 2004/10最後一個工作日為10/29
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-16 19:56:27 IP:61.71.xxx.xxx 未訂閱
引言: 請教各位大大: Delphi5.0如何知道每月最後一個工作日是幾月幾號 例如:2004/7最後一個工作日為7/30 2004/10最後一個工作日為10/29
你這個思考邏輯有點問題, 我想應該是你公司是週休二日吧! 我遇過很多 公司週六, 日是還上班, 不過要解決這個問題並不難 你只要下 DayofWeek(TDate) 就可以取得該日在本週的回傳值 例如 DayofWeek(StrtoDate('2004/07/30')) --> 傳回 6 你就可以拿 6 來做為你的參數計算... 但DayofWeek 不一定週六傳回 6, 要看你以那一天做為一週的啟始來算, 你可 以在 Delphi Help 中查 DayofWeek, 再由其 SeeAlso 中查相關的函式~
change.jian
版主


發表:29
回覆:620
積分:439
註冊:2003-06-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-17 10:06:25 IP:61.229.xxx.xxx 未訂閱
Hi,shelly.hong:
uses DateUtils;    function LastWorkDayOfTheMonth(AValue:TDate):TDate;
var
  aDate,bDate:TDate;
begin
  bDate:=EndOfTheMonth(AValue); //取得該月的最後一天
  aDate:=StartOfTheWeek(bDate); //取得"最後一天"那週的第一天
  aDate:=IncDay(aDate,4);       //加4天變成星期五
  if aDate
你試試看,我怕可能有bug,所以把註解也附上去
另外,我是用
        
peipei36
一般會員


發表:8
回覆:51
積分:16
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-17 23:54:47 IP:220.137.xxx.xxx 未訂閱
nn.. 我想P.D.的意思是要看工作日怎麼定義的.. 您若非工作日指的是週六週日這兩天.. 那用日期函數應該很容易判斷.. 若不一定是的話.. 我想是需要一個對應table的.. 去定義哪一天是所謂的工作日..
系統時間:2024-04-20 6:10:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!