ホームページ  >  記事  >  バックエンド開発  >  PHPで中国語の日付を変換する方法

PHPで中国語の日付を変換する方法

PHPz
PHPzオリジナル
2023-03-29 10:13:291114ブラウズ

PHP は、Web アプリケーションの構築、データベースの管理、動的な Web ページの生成、フォーム データの処理などに使用できる、非常に人気のあるサーバー側スクリプト言語です。多くの中国人プログラマーにとって、特に時刻を中国語に変換する必要があるため、PHP で日付を中国語に変換する方法は非常に実践的なスキルです。

1. 日付書式設定関数

PHP には、日付書式設定のための関数 date() が用意されています。この関数は、日付を指定した文字列にフォーマットするのに非常に便利で、PHP を使用して日付を中国語に変換できます。

書式設定の構文は次のとおりです。

date(format, timestamp)

このうち、format パラメータは日付書式文字列で、年、月、日、時、分、秒など。日付形式。timestamp パラメータはオプションのタイムスタンプで、デフォルトは現在時刻です。

2. PHP で日付を中国語に変換する方法

日付を中国語に変換するには、中国語の数字と漢字を使用する必要があります。PHP の定数を使用してこれらを保存できます。価値観。

define('CN_NUM', array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九'));
define('CN_YEAR', '年');
define('CN_MONTH', '月');
define('CN_DAY', '日');

次に、これらの定数を使用し、date() 関数と組み合わせて、日付を中国語に変換します:

function cnDate($date) {
  $cn_num = CN_NUM;
  $cn_year = CN_YEAR;
  $cn_month = CN_MONTH;
  $cn_day = CN_DAY;

  $year = date('Y', strtotime($date));
  $month = date('m', strtotime($date));
  $day = date('d', strtotime($date));

  $result = '';

  // 转换年份
  for ($i=0; $i<strlen($year); $i++) {
    $result .= $cn_num[$year[$i]];
  }
  $result .= $cn_year;

  // 转换月份
  if ($month[0] == &#39;0&#39;) {   // 去掉月份前的0
    $result .= $cn_num[$month[1]] . $cn_month;
  } else if ($month == &#39;10&#39;) {   // 十月
    $result .= &#39;十&#39; . $cn_month;
  } else if ($month > '10') {    // 十一月、十二月
    $result .= $cn_num[1] . $cn_num[$month[1]] . $cn_month;
  } else {  // 一月、二月、...、九月
    $result .= $cn_num[$month[0]] . $cn_month;
  }

  // 转换日期
  if ($day[0] == '0') {   // 去掉日期前的0
    $result .= $cn_num[$day[1]] . $cn_day;
  } else if ($day == '10') {   // 十日
    $result .= '十' . $cn_day;
  } else if ($day > '10' && $day < &#39;20&#39;) {  // 十一日到十九日
    $result .= $cn_num[1] . $cn_num[$day[1]] . $cn_day;
  } else if (substr($day, 1) == &#39;0&#39;) {   // 二十、三十日
    $result .= $cn_num[$day[0]] . $cn_num[10] . $cn_day;
  } else if ($day >= '20') {  // 二十一日到二十九日
    $result .= $cn_num[$day[0]] . $cn_num[10] . $cn_num[$day[1]] . $cn_day;
  } else {  // 一日、二日、...、九日
    $result .= $cn_num[$day[0]] . $cn_day;
  }

  return $result;
}

3. コードの説明

最初に、漢数字と漢字定数が定義されます。CN_NUM は、0 から 9 までの漢数字を含む配列です。

次に、cnDate() 関数が定義されています。これは日付を中国語形式に変換する関数です。日付を表すパラメータ $date を受け取ります。変換されます。関数内で、strtotime() 関数を使用して日付文字列をタイムスタンプに変換し、date() 関数を使用して年、月、日を抽出します。

次に、年、月、日の値に応じて、異なるルールを使用して中国語に変換します。年は直接中国語の数字を使用します。月と日付は少し複雑なので、考慮する必要があります。プレフィックス 0 があるかどうか、10 であるかどうかなど。

最後に、変換された年、月、日を結合して、中国語形式の日付文字列を返します。

4. 例

次に、cnDate() 関数を使用して日付を中国語形式に変換する例をいくつか示します:

echo cnDate('2022-08-08');   // 二零二二年八月八日
echo cnDate('2023-01-01');   // 二零二三年一月一日
echo cnDate('2024-06-10');   // 二零二四年六月十日
echo cnDate('2025-12-25');   // 二零二五年十二月二十五日

5.

PHP で日付を中国語形式に変換するのは難しくありません。中国語の数値と漢字定数を定義し、状況に応じてそれらを組み合わせて中国語形式の日付文字列を取得するだけです。これは一部の中国語の Web サイトやアプリケーションに非常に当てはまり、学習して習得する価値があります。

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

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