No.5ベストアンサー
- 回答日時:
#1です。
判定ルーチンのコード例です。-----------------------------------
# 第2,3水曜日判定ルーチン
use Time::Local;
sub hantei
{
# 入力パラメータは P1,P2,P3
# P1:年(2000~)
# P2:月(1~12)
# P3:日(1~31)
my $nen = shift(@_);
my $tuki = shift(@_);
my $hi = shift(@_);
my $mday = $hi;
my $mon = $tuki - 1;
my $year = $nen - 1900;
# 曜日を求める為に timelocal->locatimeの変換を行う
my $ltime=timelocal(0,0,0,$mday,$mon,$year);
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)
= localtime($ltime);
# $wday が曜日(0~6=>日~土)(従って水曜日は$wday=3)
#水曜日でないなら
if ($wday != 3){
return 0;
}
#水曜日なら
# 1-7は第1週,8-13は第2週,14-21は第3週の水曜日になる
# $noが求める週
my $no = int(($hi-1)/7) + 1 ;
# 第2週又は第3週ならOK
if ($no == 2 || $no == 3){
return 1;
}else{
return 0;
}
}
my $nen= 2007;
for (my $tuki = 1; $tuki < 13; $tuki++){
for (my $hi = 1; $hi<32; $hi++){
my $ret = &hantei($nen,$tuki,$hi);
if ($ret == 1){
printf("定休日です %04d/%02d/%02d\n",$nen,$tuki,$hi);
}
}
}
exit(0);
-----------------------------
sub hanteiが判定ルーチンです。第2、第3の水曜日なら1が返ります。
以外は0が返ります。
2007年の第2、第3の水曜日を求めています。
ありがとうございます。
エディタでコードを書き出し各行をおっているところです。
皆さんからのご回答と合わせずいぶんと光が見えてきました。
ただ余計なことを思いついてしまい・・・。
それは、表題の「第2、第3の水曜日」チェックが完了しても、店舗によっては当月の定休日が「第2、第3の水曜日」であっても、翌月は「水曜日のみ」となったり、はたまた年末は「無休」だったりという定休日の変動が考えられ、結局は入力させる日時の期間(来月までなど)を制限するとともに、定休日の設定もそれにあわせて定期的に設定更新してやらなければならないのか・・・と。ううぅむぅ・・・。
No.6
- 回答日時:
> 「+=」って?というところでつまづいています。
「d += a」は,「d = d + a」のことです.
Perl にもある二項代入演算子ですよ.
http://www.kent-web.com/perl/chap2.html
No.4
- 回答日時:
●その月のn回目のw曜日の日付を求める方法
Perl は最近使ってなくて忘れかけているのでC風に書きます.
曜日番号を0(日曜)~6(土曜) とする.
その月の1日の曜日番号をw1とする.
その月のn回目のw曜日がd日であるとすると,
n,wからdを求めるには,
// d ← (最初のw曜日の日付)-1
d = w - w1;
if(d < 0) d += 7;
// d ← n回目のw曜日の日付
d += 7 * (n - 1) + 1;
No.2
- 回答日時:
過去に似たような質問発見しました。
http://okwave.jp/qa2321844.html
お勧めは Date::Calcなんだけど
Install 出来ないと使えないから その時は
Date::Pcalc(Pure Perl) を使うといいかも。
日付の計算は、好みだから人によって
やりかたは違っていいと思う。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(悩み相談・人生相談) フリーターなのですが労働契約では週5勤務で 会社都合で月曜日が定休日になり 火曜日、日曜日が元からの 2 2023/01/04 06:25
- 労働相談 所属部署、従業員ごとの休日設定 3 2023/04/04 15:31
- その他(就職・転職・働き方) 祭日の所定労働時間 4 2023/04/26 12:00
- 数学 【どこが1番安いか ややこしい計算を解いて欲しい】 スポーツジム3社どこに通おうか迷っています A社 4 2022/10/18 01:06
- アルバイト・パート みなさんが今コンビニでバイトをしている学生だとします。 バイトはシフト固定で毎週月曜日と木曜日は17 5 2023/05/12 19:40
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- 労働相談 土曜日には割増残業代はあるのでしょうか 5 2022/08/25 18:42
- 飲食店・レストラン 地域によって定休日が同じなのはその地域ごとに定休日を合わせてるのでしょうか?組合とか? とある地域は 7 2023/03/15 10:45
- 労働相談 有給計算について 回答お願いします。 建設業経営です。休日は日曜のみ 従業員の有給計算について 雇い 2 2023/03/26 06:12
- 人事・法務・広報 みなし残業と手当の関係 1 2023/04/12 09:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
燃えるゴミの日は何曜日ですか?
-
VBA。複数のChangeイベントをま...
-
Excelで第一〇曜日を求める方法...
-
指定曜日にMsgBox表示は可能で...
-
ユーザー定義の(aaa)
-
週休3日制で土日の他にもう一日...
-
6月の第2 第4火曜日は何日...
-
「曜日」の名前、変えるとしたら?
-
曜日ごとの集計をしたい
-
Excel関数で当月の第一日曜日の...
-
.htaccessにて、設定した曜日・...
-
曜日派?日付派??
-
土曜日の26時って何曜日の何時...
-
ジンクスやデジャブは昔起きた...
-
[Excel] ある日の曜日が当月の"...
-
日本語問題 昨日は何曜日ですか...
-
エクセル関数質問 セルA2にもし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
よくある 『 第○(1・2・3・4・...
-
月の第一週とは
-
エクセルで毎月第2週日の水曜日...
-
週2回のペースって だいたい何...
-
毎○曜日って、使いますか?
-
[Excel] ある日の曜日が当月の"...
-
週休3日制で土日の他にもう一日...
-
VBA。複数のChangeイベントをま...
-
毎週同じ曜日にラブホに行くと...
-
Excelで第一〇曜日を求める方法...
-
ユーザー定義の(aaa)
-
6月の第2 第4火曜日は何日...
-
今週とは何曜日から何曜日まで...
-
日本語問題 昨日は何曜日ですか...
-
曜日と曜の使い分けがわかりま...
-
土曜日の26時って何曜日の何時...
-
曜日のなぞ
-
時計の曜日がいつのまにか違う
-
エクセル、条件付書式について...
-
指定曜日にMsgBox表示は可能で...
おすすめ情報