如何在 PHP 中将默认日期设置为波斯日期



如何在PHP中将默认日期设置为波斯日期?

比如说,如果我echo这个函数date('Y-m-d')那么它会显示 2018-03-05,但我想要 1396-12-14 波斯日期

请检查:http://php.net/manual/en/intldateformatter.create.php

<?php
// date_default_timezone_set('Asia/Tehran');
$now = new DateTime();
$formatter = new IntlDateFormatter(
                "fa_IR@calendar=persian", 
                IntlDateFormatter::FULL, 
                    IntlDateFormatter::FULL, 
                'Asia/Tehran', 
                IntlDateFormatter::TRADITIONAL, 
                "yyyy-MM-dd");
// It is now: 1396-12-14
echo 'It is now: ' . convert_to_number($formatter->format($now)) ."<br />"; 
// It is now: ۱۳۹۶-۱۲-۱۴
echo 'It is now: ' . $formatter->format($now) ."<br />"; 

// convert to number
function convert_to_number($string) {
    $persian = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
    $arabic = ['٩', '٨', '٧', '٦', '٥', '٤', '٣', '٢', '١','٠'];
    $num = range(0, 9);
    $convertedPersianNums = str_replace($persian, $num, $string);
    $englishNumbersOnly = str_replace($arabic, $num, $convertedPersianNums);
    return $englishNumbersOnly;
}

php 中的芬格利什(波斯语(日期格式:

<?php
// date_default_timezone_set('Asia/Tehran');
$now = new DateTime();
$formatter = new IntlDateFormatter(
                "en_US@calendar=persian", 
                IntlDateFormatter::FULL, 
                    IntlDateFormatter::FULL, 
                'Asia/Tehran', 
                IntlDateFormatter::TRADITIONAL, 
                "yyyy-MMMM-dd");
// It is now: 1401-Bahman-20
echo 'It is now: ' . $formatter->format($now) ."<br />"; 
?>

如果要更改日期格式,请参阅以下链接:

https://unicode-org.github.io/icu/userguide/format_parse/datetime/#date-field-symbol-table

相关内容

  • 没有找到相关文章

最新更新