MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

「1965-05-15」のような日付をTIMESTAMPに変換すると、出力0(ゼロ)が得られるのはなぜですか?


MySQL UNIX_TIMESTAMP関数を使用すると、指定された日付/日時からの秒数を生成できることがわかっています。しかし、「1965-05-15」のような日付を変換しようとすると、TIMESTAMPの範囲が「1970-01-0100:00:01」から「2038-01-」の間にあるため、出力として0(ゼロ)が返されます。 1908:44:07'。したがって、TIMESTAMPの範囲を超える日付値は変換できず、常に0を出力として返します。

例を以下に示します-

mysql> Select UNIX_TIMESTAMP ('1965-05-15');
+----------------------------------------------+
| unix_timestamp('1965-05-15 05:04:30')        |
+----------------------------------------------+
|                                       0      |
+----------------------------------------------+
1 row in set (0.00 sec)

mysql> select UNIX_TIMESTAMP ('1970-05-15 05:04:30');
+----------------------------------------------+
| unix_timestamp('1970-05-15 05:04:30')        |
+----------------------------------------------+
|                                     11576070 |
+----------------------------------------------+
1 row in set (0.00 sec)

  1. PHP MySQLで日付形式(DBまたは出力)をdd / mm / yyyyに変更しますか?

    PHPの日付形式は、date()機能を使用して変更できます。構文は次のとおりです- date(d/m/Y,yourDateTimeVariable); PHPでは、strtodate()を使用して文字列を日付に変換します。日時のフォーマットに使用されるPHPコードは次のとおりです- $LogintDate = strtotime('2019-01-12'); echo date('d/m/Y', $LogintDate); コードのスナップショットは次のとおりです- 以下は出力です- 12/01/2019 あなたはdate_format()関数の助け

  2. MySQLデータベースの2020-04-30ではなく30-04-2020のような日付を表示しますか?

    これには、MySQLでDATE_FORMAT()を使用します。構文は次のとおりです- 例 select date_format(yourColumnName,'%d-%m-%Y') as anyAliasName from yourTableName; テーブルを作成しましょう- 例 mysql> create table demo80    -> (    -> due_date date    -> ); Query OK, 0 rows affected (0.74 挿入コマンド-を使