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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
開始と終了を指定して、その間...
-
アップロードしたファイル名に...
-
現在時刻をyyyymmddhhmmss形式...
-
ファイル名に日付の挿入
-
昨日の日付を取得するVBscript
-
ESXiのdateコマンドについて
-
今日の日付から1週間のリスト
-
入力した日付の調整法
-
一週間の表示の仕方と文字表示
-
月曜日から始まる週間カレンダ...
-
Dosブロンプトでtabを出力したい
-
【C#】DataGridViewの最大列数...
-
「取得先」という表現について
-
wordの差し込み印刷で文字...
-
shシェルスクリプト 空白行の...
-
VBA コレクションに2次元配列...
-
DTOとEntityの差は何ですか。
-
URLのパラメータをGETのままで...
-
switch()文で値の大小比較
-
バッチファイルでpingの結果を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
開始と終了を指定して、その間...
-
ファイル名に日付の挿入
-
昨日の日付を取得するVBscript
-
現在時刻をyyyymmddhhmmss形式...
-
差分の月数を算出する方法
-
日付によって画像を変える
-
改行されないカレンダー(PHP)
-
C言語を使って、ある特定の日の...
-
昨日の日付名でファイルを作成...
-
MS-DOSでの日付表示
-
アップロードしたファイル名に...
-
PHPでのXMLの表示について
-
ファイルをまちうけして別フォ...
-
PHP 指定した期間だけ表示した...
-
0から始まる文字列を作りたい
-
編集した時に日時を変える
-
PHPとPostgreSQLを使用した労働...
-
入力した日付の調整法
-
Accessコンボボックス
-
PHPパーサー MagpieRSSについて
おすすめ情報