ホームページ > バックエンド開発 > PHPの問題 > PHPで文字列をタイムスタンプに変換する方法

PHPで文字列をタイムスタンプに変換する方法

青灯夜游
リリース: 2023-03-09 17:42:02
オリジナル
3613 人が閲覧しました

文字列をタイムスタンプ (タイムスタンプ) に変換する

php メソッド: 1. strtotime() 関数を使用して、英語テキストの日付と時刻の記述をタイムスタンプに解析します; 2. mktime() 関数を使用します。 , 日付からタイムスタンプを取得するために使用され、正常にタイムスタンプを返し、それ以外の場合は FALSE を返します。

PHPで文字列をタイムスタンプに変換する方法

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

php 文字列タイムスタンプの変換

#PHP には、さまざまな形式の日付をタイムスタンプに簡単に変換できる関数が用意されています。このタイプの主な関数は次のとおりです。

    strtotime():英語テキストの日時記述をタイムスタンプに解析します。
  • mktime(): 日付からタイムスタンプを取得します。
strtotime()

strtotime() 関数は、英語のテキスト文字列で表される日付をタイムスタンプに変換するために使用されます。これは date() の逆関数であり、タイムスタンプに成功した場合は、FALSE を返します。構文:

int strtotime ( string time [, int now] )
ログイン後にコピー

パラメータ time は解析された文字列で、GNU 日付入力形式に従って表される日付です。

例:

<?php
echo strtotime("2021-05-14 16:00:10")."<br>";    //输出 1620979210
echo strtotime("10 September 2021")."<br>";    //输出 1631203200
echo strtotime("+1 day"), "<br />"."<br>";    //输出明天此时的时间戳 
?>
ログイン後にコピー

mktime()

mktime() 関数は日付からタイムスタンプを取得するために使用され、正常にタイムスタンプを返します。それ以外の場合は FALSE を返します。構文:

int mktime(时, 分, 秒, 月, 日, 年)
ログイン後にコピー
<?php
echo mktime(21, 50, 55, 07, 14, 2021);        //输出“1626270655”
?>
ログイン後にコピー

パラメータは右から左に省略できます。省略されたパラメータは、ローカルの日付と時刻の現在値に設定されます。

mktime() は日付の計算と検証を行うのに役立ち、範囲外の入力に対して正しい値を自動的に計算します。たとえば、次の例では 2008-01-01 が出力されます。

<?php
echo date("Y-m-d", mktime(0, 0, 0, 12, 32, 2021));
echo date("Y-m-d", mktime(0, 0, 0, 13, 1, 2021));
?>
ログイン後にコピー

翌月の最終日。次の例のように、特定の月の最終日を -1 ではなく翌月の「0」日として表すことができます。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);
$lastday = mktime(0, 0, 0, 3, 0, 2021);
echo strftime("2021年最后一天是:%d", $lastday);
// 2021年最后一天是:28
?>
ログイン後にコピー

カスタム関数

下 関数は次のとおりです。 strtotimeに似ています。

<?php
$date_str = "2021-05-14 17:00:00";
echo $time_str = str_format_time($date_str);

function str_format_time($timestamp = &#39;&#39;)
{   
    if (preg_match("/[0-9]{4}-[0-9]{1,2}-[0-9]{1,2} (0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])/i", $timestamp)) 
    {
        list($date,$time)=explode(" ",$timestamp);
        list($year,$month,$day)=explode("-",$date);
        list($hour,$minute,$seconds )=explode(":",$time);
         $timestamp=gmmktime($hour,$minute,$seconds,$month,$day,$year);
    }
    else
    {
        $timestamp=time();
    }
    return $timestamp;
}

echo &#39;<br />&#39;;
echo date("Y-m-d H:i:s", $time_str);

?>
ログイン後にコピー

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPで文字列をタイムスタンプに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート