タグ

ブックマーク / sota1235.hatenablog.com (1)

  • PHPでISO8061に準拠した日付フォーマットをバリデーションする - はらへり日記

    この記事は PHPアドベントカレンダー13日目の記事です。大遅刻ですごめんなさい。 qiita.com 正直、なぜか投稿した気になってしまってました…ちゃんとやらなきゃダメですよね気をつけます…。 したいこと すいません。タイトルちょっと厳密に言うと違います。もっというとPHP関係ないかもしれない。 厳密には「ISO8061に従い、かつ年月日秒とタイムゾーンまで指定されているかどうか」バリデーションする方法です。 例えば以下のような書式はISO8061に準拠、かつ上記条件を満たしています。 2016-09-30T12:00:00+09:00 ですが、以下の書式はISO8061に準拠しながらも分秒数は指定されていません。 2016-09-30 とある実装で、分秒数まで指定された状態のバリデーションをかけたい場面があったのでどう実現するか考えました。 ※ 今後、「ISO8061に従い、かつ年月

    tekimen
    tekimen 2016/12/24
    PHPのstrtotimeのみに限っていえば、strtotimeという関数はDSLとしてre2c噛ませているほどなので、「文字列中の時刻にタイムゾーン情報があるかどうか」は指摘通り正規表現で必要な部分を抜き取るしかなさそう…
  • 1