ホームページ >バックエンド開発 >PHPの問題 >PHPを使用して時刻形式をテキスト形式に変換する方法

PHPを使用して時刻形式をテキスト形式に変換する方法

PHPz
PHPzオリジナル
2023-04-25 15:55:45990ブラウズ

実際の開発では、データをより適切に表示または保存するために、時刻形式をテキスト形式に変換する必要があることがよくあります。 PHP は広く使用されている言語であり、PHP は時間を処理するための多くのツールと関数を提供します。

この記事では、PHPを使用して時刻形式をテキスト形式に変換する方法を詳しく紹介します。

1. PHP の組み込み時刻関数

PHP を使用して時刻形式をテキスト形式に変換する前に、PHP の組み込み時刻関数について基本を理解しておく必要があります。一般的に使用される関数の一部を次に示します。

  1. date() 関数は、時刻を文字列にフォーマットするために使用されます。 2 つのパラメーターを受け入れることができます。最初のパラメーターは形式の指定に使用され、2 番目のパラメーターはタイムスタンプの指定に使用されます。 2 番目のパラメータが空の場合、デフォルトで現在のタイムスタンプが使用されます。

例:

echo date("Y-m-d"); // 输出当前日期

echo date("Y-m-d H:i:s", 1534949251); // 输出 2018-08-22 10:47:31
  1. time() 関数は、現在のタイムスタンプを取得するために使用されます。パラメーターは必要なく、1970 年 1 月 1 日から経過した秒数を表す整数値を返します。

例:

echo time(); // 输出当前时间戳
  1. strtotime() 関数は、日時文字列をタイムスタンプに変換するために使用されます。そのパラメータは日時文字列で、一般的な「年-月-日」や「時:分:秒」形式など、任意の形式の日時テキストにすることができます。

例:

echo strtotime('2018-08-22 10:47:31'); // 输出 1534949251

上記は、一般的に使用される PHP 時間関数の一部です。次に、これらの関数を使用して、時刻形式をテキスト形式に変換します。

2. タイムスタンプをわかりやすい時刻テキスト形式に変換します

通常、タイムスタンプを「1 時間前」、「昨日」など、よりわかりやすい時刻形式に変換します。 、「7日前」など。 PHP 時間関数を組み合わせると、このタスクを簡単に実行できます。

以下は、タイムスタンプをわかりやすい時刻のテキスト形式に変換する例です:

function Friendly_date($timestamp) {

$current_time = time();
$delta_time = $current_time - $timestamp;

if ($delta_time < 60) {
    return '刚刚';
} elseif ($delta_time < 3600) {
    $min = floor($delta_time / 60);
    return $min . '分钟前';
} elseif ($delta_time < 86400) {
    $hour = floor($delta_time / 3600);
    return $hour . '小时前';
} elseif ($delta_time < 604800) {
    $day = floor($delta_time / 86400);
    if ($day == 1) {
        return '昨天';
    } else {
        return $day . '天前';
    }
} else {
    return date('Y-m-d', $timestamp);
}

}

Thisこの関数は、タイムスタンプを「3 時間前」などのテキスト説明に変換します。現在時刻から1分以内の場合は「今」、1時間以内の場合は「○○分前」、現在時刻から1日以内の場合は「○○分前」を返します。 , 「xx 時間前」が返されます; 現在時刻から 1 週間以内の場合は「昨日」または「xx 日前」が返されます; 現在時刻から 1 週間以上離れている場合は、日付が返されます。 「年-月-日」の形式です。

3. タイムスタンプを指定したテキスト形式に変換する

時間を指定した日付と時刻の形式に変換する必要がある場合は、date() 関数を使用できます。 date() 関数の最初のパラメータは、出力形式を指定するために使用されます。たとえば、「Y-m-d H:i:s」は、年-月-日 時:分:秒の形式を意味します。

次は、指定された形式でタイムスタンプを出力する例です。

function format_date($timestamp, $format = 'Y-m-d H:i:s') {

return date($format, $timestamp);

}

上記の関数は、指定された形式でタイムスタンプを出力します。日付形式が指定されていない場合は、デフォルトで「Y-m-d H:i:s」形式が使用されます。出力形式は必要に応じてカスタマイズできます。

4. 時刻文字列を指定された形式のテキスト形式に変換します

日付と時刻の文字列がすでにある場合は、strtotime() 関数を使用してそれをタイムスタンプに変換できます。次に、 date() 関数を使用して、指定された形式のテキストにフォーマットします。

以下は、日付と時刻の文字列を指定された形式のテキストに変換する例です。

function format_date_str($date_str, $format = 'Y-m-d H:i:s') {

$timestamp = strtotime($date_str);
return date($format, $timestamp);

}

上記の関数は、指定された形式で日付と時刻の文字列を出力します。日付形式が指定されていない場合は、デフォルトで「Y-m-d H:i:s」形式が使用されます。

概要:

この記事では、PHP を使用して時刻形式をテキスト形式に変換する方法を紹介します。 PHP の組み込み時刻関数を使用すると、タイムスタンプをわかりやすいテキストまたは指定された形式のテキストにすばやく変換できます。実際の開発では、必要に応じて上記 2 つの方法を使用して、時刻を表示や保存に適したテキスト形式にフォーマットすることができます。

以上がPHPを使用して時刻形式をテキスト形式に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。