ちょこっとIっTぇみる

個人的に気になるITネタを気分でつらつらと。

JavaScriptでGoogleカレンダーのデフォルト表示月を動的にする方法 (1

こんにちは。

今日は うちの会社のスクールの空きスケジュールを
googleカレンダーを使って公開するときに

「今月もう終わるのに今月のカレンダーの予定が出てても意味ないなー、来月の予定を表示したいなー」

現在日付が月の末日近く 例)20日 になったら、翌月のカレンダーを表示したい。

ってことで、まず 公開するgoogleカレンダー側で表示範囲を指定する方法を調べると。

Googleカレンダーで月を指定して埋め込み

に iframe srcパラメータに

&dates=表示範囲from(yyyymmdd)/ 表示範囲to (yyyymmdd) 
例)&dates=20120501/201205/31  ⇒ 2012/5/1 ~ 2012/5/31 の期間を表示する。

見たいな感じでいけるらしい。

で、表示するカレンダーは月単位なので、

律儀にtoを月末にしなくとも、fromより新しい日であれば

いいのでは?ってことで、

&dates=20120501/20120502 (5/1~5/2)

で試してみたところ結果は一緒。OKこれならtoを生成するのもfrom+1日で済むのでらくちん。

ってことで動的に表示するフローは以下のとおりに。


1.月の末日近くの日付を定義 (例 20
2.現在日 > 1.の日付の場合
googleカレンダーパラメータの末尾に下記値を追加

    &dates=翌月一日/翌月二日 ex) &dates=20120501/20120502


してみようとおもう。

で、PHPでちゃちゃっとやるかってとこですが、
…実はうちのスクールのwebサイトはCMSで構築してて
そのコンテンツはphpコード非対応。。あべしっ。。

というわけで、動的にするには。。javascriptでやっつけるしか無いですね。。

続きは(2 は次回までのおたのしみに。。

(2はこちら。