No.2ベストアンサー
- 回答日時:
どっかにあるかもしれませんが、$Y年$m月の$n週目の$week曜日のような関数を作ってみました。
ソース見れば分かると思いますが、date("w")で曜日番号を取得出来ます。これをもとに作っていけばいいと思います。
function get_ymweek($Y,$m,$n,$week){
//$Y年$m月第$n週の$week曜日(曜日番号または"Sun"のような形式)の日付を取得
if(! ereg("^[0-9]{4}$",$Y)) return "年指定エラー";
if(! ereg("^[0-9]{1,2}$",$m)) return "月指定エラー";
if(! ereg("^[1-5]$",$n)) return "第n週指定エラー";
if(! ereg("^[0-9]$",$week)){
$arr = array("Sun"=>0,"Mon"=>1,"Tue"=>2,"Wed"=>3,"Thu"=>4,"Fri"=>5,"Sat"=>6);
$week = $arr[$week];
}
$d1 = mktime(0,0,0,$m,1,$Y);//$Y年$m月1日
$w1 = date("w",$d1);//$d1の曜日番号
if($w1 > $week) $n ++;
$d = ($n-1)*7 + $week - $w1 + 1;
return $d;
}
また、51週(1年を通しての週)の月曜日の様な場合も基本的には一緒です。PHP 4.1.0以降でしたら、date("W")で一年を通しての月曜日に始まる年単位の週番号も取得出来るので、逆算する場合にはこれが使えます。
なお、ソースを見やすくするため、全角スペースを利用しています。コピペする場合は注意して下さい。
No.1
- 回答日時:
「11月の3週目の水曜日」というのがあいまいです。
週目というのは日曜基準か月曜基準かによって結果がことなります。
また基準日による前月への前倒しをしていいのかにもよります。
たとえば11月1週の月曜日という命題に対して
11/1が火曜日だったら1週の月曜は10/30になります。
これを拡大解釈して11/7としなくてはいけないならそれなりの
調整が必要になるでしょう。
基準日についても日曜基準なら11/1が日曜であれば、
第1週の月曜日は11/2ですが、月曜基準なら、10/25となるでしょう。
そのあたりの定義がはっきりすれば、比較的簡単にもとめられると
思います。
ちなみに2)は週先頭の年月日がわかっているなら86400*7をたせば
翌週、86400*7を引けば前週ですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 私は一週間のうち三日間働いています の英訳について I work three days out of 2 2023/01/28 11:32
- 英語 "this day"が当日か今日を表すのかの使い分け方等について 5 2023/08/08 14:29
- 先物取引 日本国債先物のCFD取引について 1 2023/08/04 18:09
- Visual Basic(VBA) 祝日を除いた月曜から土曜までの1週間分の日付行を選択し、別シートへカットアンドペーストしたい 13 2023/07/13 22:46
- Excel(エクセル) エクセルの条件付き書式について エクセルでカレンダーを作りました。縦に日付が並んでいて、横にスケジュ 3 2022/10/10 15:32
- アルバイト・パート アルバイト二週連続欠勤について 2 2022/09/08 00:44
- 求人情報・採用情報 月単位、週40時間の変形労働時間制で、 日曜祝日土曜半日の固定休+シフト制(平日一日)の企業の場合、 1 2023/08/10 23:43
- 宇宙科学・天文学・天気 実際の天気は雨が観測される日が多いのに、なぜ週間天気予報では雨マークがつかない予報が多いのですか。 1 2022/07/02 13:52
- 簿記検定・漢字検定・秘書検定 4月から商業高校の会計科に通う予定の中学生です。現在春休みで、簿記検定3級を取得しようと考えており、 1 2023/03/04 14:40
- 英語 和訳 1 2022/06/13 13:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLのdate型をphpで○年○月○日...
-
ファイル名に日付の挿入
-
今月と来月のカレンダーの処理...
-
1週間分の日付を日が変わるごと...
-
英訳お願いします。いつまで食...
-
プルダウンメニューの値をDBに...
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
ログイン画面から入って、「戻...
-
ミュージックのアートワークを...
-
Excel VBA:特定の文字列以降(...
-
VBS「開いているページ」のURL...
-
IEを使わないでhtmlテキストを...
-
OpenFileDialogの自作
-
Google scholarがひらけなくな...
-
The session id contains inval...
-
PHPを使って、別サイトの一部を...
-
ps3で久しぶりにCDの音楽情報取...
-
Yahoo! JAPAN IDを新規取得でき...
-
switch()文で値の大小比較
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
開始と終了を指定して、その間...
-
ファイル名に日付の挿入
-
アップロードしたファイル名に...
-
昨日の日付を取得するVBscript
-
C言語でシステム日付との差を...
-
C言語を使って、ある特定の日の...
-
Accessコンボボックス
-
現在時刻をyyyymmddhhmmss形式...
-
月曜日から始まる週間カレンダ...
-
6ヶ月前の日付を取得するにはど...
-
MySQLのdate型をphpで○年○月○日...
-
今日の日付から1週間のリスト
-
MYSQLの日付から現在までの年数...
-
ASP 年度年齢の計算
-
ESXiのdateコマンドについて
-
PHP 指定した期間だけ表示した...
-
改行されないカレンダー(PHP)
-
VBAでのDATEについて
-
シェルスクリプト:N日前の日付...
-
rss2.0<pubDate>の日付整形
おすすめ情報