2017年8月31日(木)
ブログの日付指定のロジック変更1 #■子猫の手P.S. ご意見ありがとうございます。プログラミングを公開しましたので、書き直しました。→ 2017年9月27日(水)のブログ
Ver2.9では、ブログの日付のロジックを変更します。
ご希望の[半ば]を追加しました。P.S. 不評に付き、半ばの採用取り消し。
[第n週]、[第n週w曜日]も出来なくはないのですが、採用しませんでした。必要あれば、本文に記載して下さい。
子猫の手では、日付データをD/Bに3つに分けて、格納しています。
--
・開始日付 UNIX秒+α(ブログID)
・終了日付 UNIX秒
・日付テキスト
--
開始日付と終了日付だけでは、2017年8月30日(水)~31日(木)といった表記しかできません(年や月が同じ場合、自動的に省略)。月、上旬、中旬、下旬、半ばを混在出来るように、別に日付テキストを持っているのが特徴です。
カレンダーのページでは、ばっちり開始日付と終了日付で表示されますが、ブログのページでは、期間をぼんやりとした表現にできるということです。
先のバージョンで利用できるにはできるのですが、作り込みが甘いと認識していたので、今回作り込むことにしました。
9月を例に挙げます。「日付」「開始日付」「終了日付」で、[月単独]、[旬]の意味する日付が異なっています。
--
【定義】
n月:1~末
上旬:1~10
中旬:11~20
下旬:21~末
半ば:15
【ボタン入力】
「日付」
↓↑
8月下旬 [21-末]
9月d日 ↓↑
8/31[<] 9月 [1-末]
10/1[>]
↓↑
1~10 → 9月上旬 [1-10]
8/31[<]
11 [>]
↓↑
11~14 → 9月中旬 [11-20]
10 [<]
21 [>]
↓↑
15~20 → 9月半ば [15]
14 [<]
16 [>]
↓↑
21~末 → 9月下旬 [21-末]
20 [<]
10/1[>]
↓↑
10月 [1-末]
↓↑
「開始日付」
↓↑
8月下旬 [21]-末
9月d日 ↓↑
8/31[<] 9月 [1]-末
2 [>]
↓↑
1~10 → 9月上旬 [1]-10
8/31[<]
2 [>]
↓↑
11~14 → 9月中旬 [11]-20
10 [<]
11 [>]
↓↑
15~20 → 9月半ば [15]
14 [<]
16 [>]
↓↑
21~末 → 9月下旬 [21]-末
20 [<]
22 [>]
↓↑
10月 [1]-末
↓↑
「終了日付」
↓↑
8月 下旬 21-[末]
9月d日 ↓↑
9/30[<] 9月 1-[末]
10/1[>]
↓↑
1~10 → 9月上旬 1-[10]
9 [<]
11 [>]
↓↑
11~15 → 9月半ば [15]
14 [<]
16 [>]
↓↑
16~20 → 9月中旬 11-[20]
19 [<]
21 [>]
↓↑
21~末 → 9月下旬 21-[末]
29 [<]
10/1[>]
↓↑
10月 [1]-末
↓↑
--
P.S. 今回も、作るには作ったけど、もう少し調整が必要です。
表記の推移は、再再再々考慮して、これで違和感は無いと思います。P.S. 日付、開始日付、終了日付の文字の推移を同じにして、統一しました。異なっているとややこしいとのことで。
月や旬は期間を持つので、これを分かりやすくするために、参考日付を末尾に表示するようにしました。[]内が、意味する日を示しています。参考日付は、色を変えたので見やすくなっています。
入力制御や日付テキスト出力に関して、新たなロジックが必要になりました。日付テキスト出力は完成しました。入力制御を作成中です。
P.S.2 たった(開始4+終了4+入力切替1+終了日未定1)のインプットで、これを実現させようと言うのは、ガンダムを操縦するような感じかも。
P.S.3 ボタンを下記のようにしたらいいと、ご提案を頂きました。ありがとうございます。
--
[<<] [<] [>] [>>]
↓
[-月] [-日] [+日] [+月] [上旬] [中旬] [半ば] [下旬]
--
これが分かり易いことは重々承知です。ボタン数をなるべく少なく4つで、直観的に日付を変更できることに、拘っています。
日付には、新規では今日の日付、編集では登録した日付が表示されています。この日付を基準として、ボタンで前後に移動させるという方法が、ブログにおける日付指定にベストと考えています。年月日を直接入力する方法は、別に設けております。