2013年10月7日(月)
ブログの日付 #■子猫の手 2013年10月上旬~中旬といった日付入力にも対応しようと、空き時間でせっせとやってみた。
入力機能は、比較的簡単につくれた。しかし、公開ページに表示するときに、日付の期間を判断するためには、根本的に変更しなければいけないと分かってショック(><)
そもそも、開始日付は、単日であり、上旬として1日~10日という期間を持たせることを前提にしていない。データベースに2つのカラムで表現していたものを、4つにする必要がある。データベースにはUNIX時間で納められるが、ここでは分かりやすくカレンダー形式で表記した。
==
これまでの表現
==
開始日付1 開始日付2 終了日付1 終了日付2
2013/10/1 2013/10/1 2013/10/1 2013/10/1
→
2013年10月1日(火):2013/10/1~2013/10/1
2013/10/1 2013/10/1 2013/10/7 2013/10/7
→
2013年10月1日(火)~7(月):2013/10/1~2013/10/7
==
旬を含んだ表現
==
2013/10/1 2013/10/10 2013/10/1 2013/10/10
→
2013年10月上旬:2013/10/1~2013/10/10
2013/10/1 2013/10/10 2013/10/11 2013/10/20
→
2013年10月上旬~中旬:2013/10/1~2013/10/20
2013/10/1 2013/10/10 2013/10/15 2013/10/15
→
2013年10月上旬~15日(火):2013/10/1~2013/10/15
2013/10/1 2013/10/1 2013/10/11 2013/10/20
→
2013年10月1日(火)~中旬:2013/10/1~2013/10/20
==
月ごとを含んだ表現
==
2013/10/1 2013/10/31 2013/10/1 2013/10/31
→
2013年10月:2013/10/1~2013/10/31
2013/10/1 2013/10/31 2013/11/1 2013/11/30
→
2013年10月~11月:2013/10/1~2013/11/30
2013/10/1 2013/10/31 2013/11/1 2013/11/10
→
2013年10月~11月上旬:2013/10/1~2013/11/10
2013/10/1 2013/10/31 2013/11/15 2013/11/15
→
2013年10月~11月15日(金):2013/10/1~2013/11/15
2013/10/1 2013/10/10 2013/11/1 2013/11/30
→
2013年10月上旬~11月:2013/10/1~2013/11/30
2013/10/1 2013/10/1 2013/11/1 2013/11/30
→
2013年10月1日(火)~11月:2013/10/1~2013/11/30
--
煩雑だなあ。日付カラムは2つのままで、いっそ日付表示を、データベースに納めようか。「~」で分けて、「旬」「(」の有無で表示形式が判断できる。長々書いたけど、こちらのほうが良さそう。
なお、入力の際に、終了日付が開始日付より後になるように、入力制限しなければならない。これは、できた。
さて、これをやるには、ちとまとまった暇がいる。開発サイトを1つ立ち上げて、ちまちまやるか。
P.S.
開発サイトを立ち上げて、データベースに日付文字のカラムを追加して、開発準備が整った。