現在の位置: ホーム> 最新記事一覧> date_timestamp_getおよびdatetime :: createfromformatと組み合わせてタイムスタンプ変換を実装する方法は?

date_timestamp_getおよびdatetime :: createfromformatと組み合わせてタイムスタンプ変換を実装する方法は?

gitbox 2025-09-19

PHPでは、通常、タイムスタンプは1970年1月1日以来数秒で表されます。開発者は、多くの場合、異なる形式でタイムスタンプとタイムスタンプを変換する必要があります。 PHPは複数の強力な日付と時刻の処理関数提供します。この記事では、これら2つの機能を組み合わせてタイムスタンプ変換を実装する方法を紹介します。

date_timestamp_get関数

date_timestamp_get関数は、 DateTimeオブジェクトから対応するUNIXタイムスタンプを取得できます。 UNIXタイムスタンプは、1970年1月1日から数秒であり、通常、特定の時点を記録するために使用されます。その基本的な構文は次のとおりです。

 <span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">date_timestamp_get</span></span><span>(DateTime </span><span><span class="hljs-variable">$object</span></span><span>)
</span></span>

返品値は、UNIXタイムスタンプを表す整数です。

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTime</span></span><span>(</span><span><span class="hljs-string">"2025-09-12 12:00:00"</span></span><span>);
</span><span><span class="hljs-variable">$timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_timestamp_get</span></span><span>(</span><span><span class="hljs-variable">$date</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"タイムスタンプ: "</span></span><span> . </span><span><span class="hljs-variable">$timestamp</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

出力:

 <span><span><span class="hljs-section">タイムスタンプ: 1757678400</span></span><span>
</span></span>

DateTime :: CreateFromFormat関数

DateTime :: CreateFromFormatは、特定の日付と時刻形式に基づいてDateTimeオブジェクトを作成できる非常に便利な静的方法です。これは、不規則またはカスタムフォーマットされた日付文字列を扱う場合に役立ちます。その基本的な構文は次のとおりです。

 <span><span><span class="hljs-title class_">DateTime</span></span><span>::</span><span><span class="hljs-title function_ invoke__">createFromFormat</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$format</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$date</span></span><span>, DateTimeZone </span><span><span class="hljs-variable">$timezone</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>)
</span></span>

$ Formatは日付時間形式の文字列であり、 $日付はこの形式に準拠する日付時間文字列であり、 $ TimeZoneはオプションのタイムゾーンオブジェクトです。タイムゾーンが指定されていない場合、PHPはデフォルトタイムゾーンを使用します。

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$dateStr</span></span><span> = </span><span><span class="hljs-string">"12-09-2025 12:00:00"</span></span><span>;
</span><span><span class="hljs-variable">$format</span></span><span> = </span><span><span class="hljs-string">"d-m-Y H:i:s"</span></span><span>;
</span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-title class_">DateTime</span></span><span>::</span><span><span class="hljs-title function_ invoke__">createFromFormat</span></span><span>(</span><span><span class="hljs-variable">$format</span></span><span>, </span><span><span class="hljs-variable">$dateStr</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"日付オブジェクト: "</span></span><span> . </span><span><span class="hljs-variable">$date</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

出力:

 <span><span><span class="hljs-section">日付オブジェクト: 2025-09-12 12:00:00</span></span><span>
</span></span>

date_timestamp_getおよびdatetime :: createfromformatを使用します

特定の形式の日付文字列からタイムスタンプに変換する必要がある場合があります。この時点で、最初にdateTime :: createFromFormatを使用して日付文字列をDateTimeオブジェクトに変換し、 date_timestamp_getを使用してタイムスタンプを取得できます。

日付文字列「12-09-2025 12:00:00」があり、タイムスタンプに変換したいとします。まず、 dateTime :: createFromFormatを使用して文字列を解析し、 date_timestamp_getでUNIXタイムスタンプを取得します。

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$dateStr</span></span><span> = </span><span><span class="hljs-string">"12-09-2025 12:00:00"</span></span><span>;
</span><span><span class="hljs-variable">$format</span></span><span> = </span><span><span class="hljs-string">"d-m-Y H:i:s"</span></span><span>;

</span><span><span class="hljs-comment">// 作成する DateTime 物体</span></span><span>
</span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-title class_">DateTime</span></span><span>::</span><span><span class="hljs-title function_ invoke__">createFromFormat</span></span><span>(</span><span><span class="hljs-variable">$format</span></span><span>, </span><span><span class="hljs-variable">$dateStr</span></span><span>);

</span><span><span class="hljs-comment">// 获取タイムスタンプ</span></span><span>
</span><span><span class="hljs-variable">$timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_timestamp_get</span></span><span>(</span><span><span class="hljs-variable">$date</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"タイムスタンプ: "</span></span><span> . </span><span><span class="hljs-variable">$timestamp</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

出力:

 <span><span><span class="hljs-section">タイムスタンプ: 1757678400</span></span><span>
</span></span>

このようにして、カスタム形式の日付文字列をUNIXタイムスタンプに変換することができます。

要約します

date_timestamp_getdatetime :: createfromformatを組み合わせることにより、さまざまな形式で日付文字列を効率的に処理し、Unixタイムスタンプに変換することができます。この方法は、特定の形式で日付を解析する必要があるユーザーの入力、ログファイル、またはその他の状況を処理するのに特に適しています。実際の開発では、これらのツールの使用をマスターすることで、時間と日付の処理をより柔軟で便利にすることができます。