MySQLのFROM_UNIXTIME()
関数を使用すると、Unixタイムスタンプの日付表現を返すことができます。
具体的には、Unixタイムスタンプを「YYYY-MM-DDHH:MM:SS」の値として返します。 またはYYYYMMDDHHMMSS 関数が文字列または数値のどちらのコンテキストで使用されているかに応じて、形式。
構文
次の2つの形式のいずれかを使用できます。
FROM_UNIXTIME(unix_timestamp) FROM_UNIXTIME(unix_timestamp,format)
unix_timestamp
引数は内部タイムスタンプ値です(たとえば、これはUNIX_TIMESTAMP()
で生成できます。 関数)。
(オプションの)format
引数を使用すると、結果のフォーマット方法を指定できます。有効な形式については、この記事の下部にある表を参照してください。
例1-基本的な使用法
これは、最初の構文形式を示す例です。
SELECT FROM_UNIXTIME(946562400) AS Result;
結果:
+---------------------+ | Result | +---------------------+ | 1999-12-31 00:00:00 | +---------------------+
例2–フラクショナルセコンド
この例では、秒の小数を含む引数を提供します。
SELECT FROM_UNIXTIME(946609199.999999) AS Result;
結果:
+----------------------------+ | Result | +----------------------------+ | 1999-12-31 12:59:59.999999 | +----------------------------+
例3–結果のフォーマット
この例では、結果のフォーマット方法を指定する2番目の引数を提供します。
SELECT FROM_UNIXTIME(946562400, '%W, %D %M %Y') AS Result;
結果:
+----------------------------+ | Result | +----------------------------+ | Friday, 31st December 1999 | +----------------------------+
そして、これがフォーマットに時間の部分を含むものです:
SELECT FROM_UNIXTIME(946609199, '%h:%i %p, %D %M %Y') AS Result;
結果:
+------------------------------+ | Result | +------------------------------+ | 12:59 PM, 31st December 1999 | +------------------------------+
例4–数値コンテキスト
FROM_UNIXTIME()
の場合 は数値コンテキストで使用され、結果の日付は数値形式で提供されます。
これは、文字列コンテキストと数値で使用した場合の結果を比較する例です。
SELECT FROM_UNIXTIME(946562400) As 'String', FROM_UNIXTIME(946562400) + 0 As 'Numeric';
結果:
+---------------------+----------------+ | String | Numeric | +---------------------+----------------+ | 1999-12-31 00:00:00 | 19991231000000 | +---------------------+----------------+
使用可能な指定子
次の指定子を使用して、戻り形式を指定できます。フォーマット値はパーセント記号(%
)で始まる必要があります 。
指定子 | 説明 |
---|---|
%a | 省略された平日の名前(Sun ..Sat ) |
%b | 省略された月の名前(Jan .. Dec ) |
%c | 月、数値(0 .. 12 ) |
%D | 英語のサフィックスが付いた月の日(0th 、1st 、2nd 、3rd 、…) |
%d | 曜日、数値(00 .. 31 ) |
%e | 曜日、数値(0 .. 31 ) |
%f | マイクロ秒(000000 .. 999999 ) |
%H | 時間(00 .. 23 ) |
%h | 時間(01 .. 12 ) |
%I | 時間(01 .. 12 ) |
%i | 分、数値(00 .. 59 ) |
%j | 年の日(001 .. 366 ) |
%k | 時間(0 .. 23 ) |
%l | 時間(1 .. 12 ) |
%M | 月の名前(January ..December ) |
%m | 月、数値(00 .. 12 ) |
%p | AM またはPM |
%r | 時間、12時間(hh:mm:ss 続いてAM またはPM ) |
%S | 秒(00 .. 59 ) |
%s | 秒(00 .. 59 ) |
%T | 時間、24時間(hh:mm:ss ) |
%U | 週(00 .. 53 )、ここで日曜日は週の最初の日です。 WEEK() モード0 |
%u | 週(00 .. 53 )、ここで月曜日は週の最初の日です。 WEEK() モード1 |
%V | 週(01 .. 53 )、ここで日曜日は週の最初の日です。 WEEK() モード2; %X で使用 |
%v | 週(01 .. 53 )、ここで月曜日は週の最初の日です。 WEEK() モード3; %x で使用 |
%W | 平日の名前(Sunday ..Saturday ) |
%w | 曜日(0 =日曜日..6 =土曜日) |
%X | 日曜日が週の最初の日である週の年、数値、4桁。 %V で使用 |
%x | 週の年。月曜日は週の最初の日で、数値は4桁です。 %v で使用 |
%Y | 年、数値、4桁 |
%y | 年、数値(2桁) |
%% | リテラル% キャラクター |
% | x 、任意の「x 」は上記にリストされていません |