sinasalek / multi-calendar-date-time
功能丰富的PHP DateTime类(基于Carbon),支持多种日历系统,如日本、波斯、伊斯兰等(基于Intl/ICU扩展或其兼容库)
Requires
- nesbot/carbon: ^2.5
- symfony/intl: ^4.1.6
This package is auto-updated.
Last update: 2024-09-20 02:24:59 UTC
README
PHP Carbon扩展与IntlCalendars一起使用以支持国际化,同时也提供Intl的兼容库
- 日语
- 佛教
- 中文
- 波斯语
- 印度语
- 伊斯兰语
- 希伯来语
- 科普特语
- 在输出中支持埃塞俄比亚日历类型。
printf("Right now is %s", IntlCarbon::now()->setCalendar('persian')->toDateTimeString()); //Right now is 1394-04-17 23:38:00 printf("%s",IntlCarbon::now()->setCalendar('islamic')->setLang('ar_UA')->toDateTimeString()); //١٤٣٦-٠٩-٢٢ ٢٣:٣٩:٤٢
依赖
在使用此包之前,您应该在系统上安装phpintl。
PHPintl
在Linux(Ubuntu)上安装,运行以下命令
sudo apt-get install php5-intl
然后您需要重新启动Apache
sudo service apache2 restart
您还可以通过运行以下命令来检查已编译的扩展
php -m
在Linux(Centos)上安装
运行以下命令
sudo yum install libicu
sudo yum install libicu-devel.x86_64
sudo /usr/bin/pecl install intl
在您的php.ini文件中添加“extension=intl.so”。
您还可以通过运行以下命令来检查已编译的扩展
php -m
在OSX上安装
使用homebrew
brew update
brew install icu4c
使用PECL
sudo pecl update-channels
sudo pecl install intl
并在您的php.ini文件中添加“extension=intl.so”。
重新启动apache。
如果您发现以下错误:找不到autoconf。请检查您的autoconf安装和$PHP_AUTOCONF环境变量。然后,重新运行此脚本。
我找到的解决方案是从源代码编译autoconf并设置指向phpize所需的autoconf的环境变量。
下载autoconf curl http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz > autoconf.tar.gz
Untar the autoconf archive
tar -xvzf autoconf.tar.gz
配置和构建 – 注意未解压的文件夹可能有不同的名称。
cd autoconf-2.69
./configure
sudo make && sudo make install
这会将autoconf安装到‘/usr/local/bin/autoconf’。为了使phpize正常工作,将PHP_AUTOCONF环境变量设置为指向新安装的autoconf。
export PHP_AUTOCONF=/usr/local/bin/autoconf
在尝试编译PHP扩展时运行phpize现在应该可以正常工作。
在Windows上安装
Wamp服务器
在wamp图标上点击php -> php extensions -> php_intl然后重新启动服务器
安装
使用Composer
$ composer require amirhabibzadeh/intl-carbon
{ "require": { "sinasalek/multi-calendar-date-time": "dev-master" } }
<?php require 'vendor/autoload.php'; use IntlCarbon\IntlCarbon; printf("Now: %s", IntlCarbon::now());
待办事项
- 完成测试