PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   寫程式:找出每個月的第二個星期二 (https://www.pcdvd.com.tw/showthread.php?t=1078668)

=風= 2015-05-23 11:00 AM

寫程式:找出每個月的第二個星期二
 
請問一下
找出每個月的第二個星期二
這種題目是算簡單還是很難呢?
例:輸人2015年2月
就顯示答案2015/2/10

micall.lee 2015-05-23 11:07 AM

有的語言已經有現成或類似的 function 可用,如果會用,就不難

當然如果你要當成邏輯練習就或許要想一下

老柏(第四) 2015-05-23 11:10 AM

讀取萬年曆資料,提取、分析
或者,是先把100年的每個月第二個星期二算出來做成資料庫

=風= 2015-05-23 11:22 AM

引用:
作者micall.lee
有的語言已經有現成或類似的 function 可用,如果會用,就不難

當然如果你要當成邏輯練習就或許要想一下

謝謝你的回答
請問哪些程式語言有呢?
JAVA或VB有嗎
謝謝

引用:
作者老柏(第四)
讀取萬年曆資料,提取、分析
或者,是先把100年的每個月第二個星期二算出來做成資料庫

這好像有點複雜
謝謝你的回答

anhi 2015-05-23 11:25 AM

python 的話可以參考這個改一改∼

http://python3-cookbook.readthedocs...riday_date.html

commando001 2015-05-23 11:28 AM

引用:
作者=風=
謝謝你的回答
請問哪些程式語言有呢?
JAVA或VB有嗎
謝謝


這好像有點複雜
謝謝你的回答

如果不管效能

你就用date函數從1號開始去try就好了(每個語言應該都有)

然後就用一個變數當counter

禮拜二出現第兩次時就show那天就好了

最多也只會try 14次而已(該月第一天是禮拜三)

micall.lee 2015-05-23 11:30 AM

引用:
作者=風=
謝謝你的回答
請問哪些程式語言有呢?
JAVA或VB有嗎
謝謝


這好像有點複雜
謝謝你的回答

你可以查詢「DayOfWeek」,和你想要用的語言放在一起查

這個可以查某年某月某天是星期幾

有 function 的話應該找的到怎麼用,沒有的話應該也會有簡潔的語法可參考

然後你要怎麼做就看你自己了

=風= 2015-05-23 11:39 AM

引用:
作者anhi
python 的話可以參考這個改一改∼

http://python3-cookbook.readthedocs...riday_date.html


謝謝,有點不太好改


引用:
作者commando001
如果不管效能

你就用date函數從1號開始去try就好了(每個語言應該都有)

然後就用一個變數當counter

禮拜二出現第兩次時就show那天就好了

最多也只會try 14次而已(該月第一天是禮拜三)

謝謝你的方法

引用:
作者micall.lee
你可以查詢「DayOfWeek」,和你想要用的語言放在一起查

這個可以查某年某月某天是星期幾

有 function 的話應該找的到怎麼用,沒有的話應該也會有簡潔的語法可參考

然後你要怎麼做就看你自己了

這個logic
很好寫
謝謝

twdvdr 2015-05-23 11:39 AM

php 寫法還蠻簡單的
$input="你輸入的年跟月"+"01";//年月日當月一號
$mysettime = maketime($input);//timestep
$weekdata=date("N",$mysettime);//得到一號星期幾
再來就 7 個 if 判斷第二個星期二要加幾天
if($weekdata=1){echo "你輸入的年跟月"."08";} //一號星期一的話要加 8 天8號
if($weekdata=2){echo "你輸入的年跟月"."07";} //一號星期二的話要加 7 天 7 號
if($weekdata=3){echo "你輸入的年跟月"."13";} //一號星期三的話要加 13 天 13 號
if($weekdata=4){echo "你輸入的年跟月"."08";} //一號星期四的話要加 12 天 12 號
if($weekdata=5){echo "你輸入的年跟月"."08";} //一號星期五的話要加 11 天 11 號
if($weekdata=6){echo "你輸入的年跟月"."08";} //一號星期六的話要加 10 天 10 號
if($weekdata=7){echo "你輸入的年跟月"."08";} //一號星期日的話要加 9 天 9 號

PHP 的話大概這樣吧
好久沒寫東西不知道有沒有錯

signally 2015-05-23 12:04 PM

C#憑直覺亂寫∼只管邏輯不管語法
Const Int t =2;
DateTime d = DateTime.Parse(tbxDate.Text + "/01");
Int w =d.DayOfWeek; // 0 開始 (表示星期日) 到 6 (表示星期六)
if (w >t) return d.Addday(14-(w-t))
else if (w <t) return d.Addday(t-w+7)
else if (w==t) return d.Addday(7)

我應該不是在幫人寫作業吧 XDD


所有的時間均為GMT +8。 現在的時間是06:43 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。