yii2:为什么我的日历在上传后变成了公历?

时间:2018-07-05 12:44:14

标签: php yii yii2 yii2-user yii2-extension

 $time = Yii::t('user', '{0, date, MMMM dd, YYYY HH:mm}', [$model->date]);

在我的本地主机中$ time是波斯语(jalali) 上传之后,$ time是英语(格雷戈里语)

我如何将我的$ time更改为jalali(perisan)????

1 个答案:

答案 0 :(得分:3)

您应按如下所示设置时间戳属性time_zone:

date_default_timezone_set('Asia/Tehran');

上传后,可以使用此功能将公历转换为波斯语的另一种方法:

public function gregorianToPersian($gregorian)
{
    date_default_timezone_set('Asia/Tehran');
    $gregorian = date_parse($gregorian);
    $persian = $this->fromGregorian([$gregorian['year'], $gregorian['month'], 
    $gregorian['day'], $gregorian['hour'], $gregorian['minute'], 
    $gregorian['second']])->toPersian('en')->asDateTime();
    return $persian;
}