トップページ > プログラム > PHP > PHP で日付など 1 桁数値を 2 桁(0 埋め)にするプログラムの書き方
PHP で日付など 1 桁数値を 2 桁(0 埋め)にするプログラムの書き方
PHP で日付をデータベースで取り扱う場合、YYYY-MM-DD の形式であることが必要だが、もし 1 月のように数値が 1 桁の場合は 01 としなければならないため 1 桁となっている数値を 2 桁(0 埋め)にするプログラムの書き方について紹介する。
1. 数値の 0 埋めとは
数値の 0 埋めとは 0 から 9 まで 10 未満の 1 桁の数値を 01, 02 のように冒頭に 0 を付与して 2 桁の扱いにするものである。
もし取り扱う最大値が 999 のように 3 桁の場合は文字数が 3 文字に合わすように 0 埋めすると 001, 002 のように 0 を 2 つ付与する形になる。
2. 日付を 0 埋めする
日付を 0 埋めする場合、下記のように PHP の関数「date」と「strtotime」を利用すると 0 埋めすることができる。
「strtotime」は英文形式の日付を Unix のタイムスタンプに変換するものであり、変換したタイムスタンプを「data」を用いてそのオプション内で指定する形式に変換を行っている。
<?php $test_date = "2019-01-3"; echo date( 'Y/m/d', strtotime( $test_date ) ); ?>
上記のコードを実行すると結果は「2019/01/03」が表示される。
月に該当する 01 は既に 0 埋めされているのでそのままとなり、日に該当する 3 は 1 桁なので 0 埋めされて 03 になっているのが確認できる。
3. 関数「strtotime」で有り得ない日付を指定した場合
関数「strtotime」を有り得ない日付で下記のように指定した場合はどうなるか確認する。
<?php $test_date = "2019-13-3"; echo date( 'Y/m/d', strtotime( $test_date ) ); ?>
上記のコードを実行すると結果は「1970/01/01」が表示される。
月に該当する箇所に現実に存在しない 13 月があるため正常に 0 埋めすることができずに日付の初期値となる 1970/01/01 が結果として返るようになっている。
4. 関数「strtotime」で有り得ない日付だが変換できる場合
次いで、上記と同じくカレンダー上では有り得ない日付を指定するが、場合によっては 0 埋めされて変換される場合がある。
<?php $test_date = "2019-4-31"; echo date( 'Y/m/d', strtotime( $test_date ) ); ?>
上記のコードを実行すると結果は「2019/05/01」が表示される。
カレンダー上では 4 月は 30 日までなので関数「strtotime」に与えた 4-31 は有り得ないのだが、31 日は他の月にあることもあり 30 日の翌日、すなわち「2019/05/01」が返る仕様になっている。
ただし、32 日を指定すると他の月にも存在しないため 1970/01/01 が結果として返る。
関連記事
Windows に Python をインストールして実行する方法
プログラム
Python は AI やディープラーニングで利用されるプログラム言語で IT エンジニアの取得したいスキルの 1 つに挙げられており、まずは簡単な動作確認するために Python を Windows にインストールして実行する方法を紹介する。
内部結合(INNER JOIN)と外部結合(LEFT/RIGHT JOIN)の違い
プログラム
データベースの操作で結合(リレーション)と呼ばれる 1 回の参照で複数のテーブルの情報を合わせて表示する機能があり、結合方法として用意されている内部結合(INNER JOIN)と外部結合(OUTER JOIN)の使い方と違いについて解説する。
Mapbox の地図データをサイト内に埋め込む基本的な使い方
プログラム
ウェブサイトやブログに地図を埋め込む場合に無償または有償で提供されている地図サービスを利用できるが、いくつかある地図サービスの中から Mapbox の地図データをサイト内に埋め込む方法について紹介する。
Google Map API を使ってサイトに地図を埋め込む方法とキーの取得
プログラム
ウェブサイトやブログに地図を埋め込む際に無償または有償で公開されている地図サービスを利用することができるが、その中で Google Map をウェブサイトに埋め込む方法と利用にあたり必要なキーの取得について紹介する。
PHP で「Non-static method *** should not be called statically」が出る場合の対応方法
プログラム
PHP を利用しているとエラーログ等に「Non-static method *** should not be called statically」が表示されることがあり、このエラーが出る原因と対応方法について紹介する。