ブログ - 午前12時,12:00PM
受け取った文字列に"PM"が入っていたら,12時間加算するというロジックがあって,エラーになっていたので直すというミッション.
元のデータは12時間表記で,変換後は24時間表記.Excelとかあれば簡単なのだけれど,bashなので文字列を取り出して再構成する感じ.
それでロジック的には12:00 PMと文字列変数に代入されるけれど,PMと入っているので単純に12時間足すと24:00となる.24時00分は便宜的には存在するけれど実際にはないのでエラー.
そもそも,お昼の12時は日本だと「午前12時」なのだけれど,英米だと12:00 PMなのだと初めてちゃんと把握した.
お昼の12時のことを「正午」というけれど,それは午前12時で,12時1分は午後0時1分.夜中の12時は,あまり使わないけれど「正子」といい,午後12時で12:0AM.同じく真夜中の12時1分は午前0時1分が正解.
普段生活していて「昼の12時」「午前12時」とはいうけれど,「午後12時」とは言わないね.なんとなく「午後一番(ごごいち)」というと,13時あたりを示す言葉だからそっちは合っているのか.
つまりロジック的には文字列を取り出して"PM"だったら12を加算すればよいけれど,合計値が24だったら12にすれば良い.
元のデータは12時間表記で,変換後は24時間表記.Excelとかあれば簡単なのだけれど,bashなので文字列を取り出して再構成する感じ.
それでロジック的には12:00 PMと文字列変数に代入されるけれど,PMと入っているので単純に12時間足すと24:00となる.24時00分は便宜的には存在するけれど実際にはないのでエラー.
そもそも,お昼の12時は日本だと「午前12時」なのだけれど,英米だと12:00 PMなのだと初めてちゃんと把握した.
お昼の12時のことを「正午」というけれど,それは午前12時で,12時1分は午後0時1分.夜中の12時は,あまり使わないけれど「正子」といい,午後12時で12:0AM.同じく真夜中の12時1分は午前0時1分が正解.
普段生活していて「昼の12時」「午前12時」とはいうけれど,「午後12時」とは言わないね.なんとなく「午後一番(ごごいち)」というと,13時あたりを示す言葉だからそっちは合っているのか.
つまりロジック的には文字列を取り出して"PM"だったら12を加算すればよいけれど,合計値が24だったら12にすれば良い.
$ date -d '2016/7/6 12:00:00' "+%Y/%m/%d %H:%M:%S %p"
2016/07/06 12:00:00 PM
$