sinasalek/multi-calendar-date-time

功能丰富的PHP DateTime类(基于Carbon),支持多种日历系统,如日本、波斯、伊斯兰等(基于Intl/ICU扩展或其兼容库)

dev-master 2019-03-19 10:02 UTC

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());

待办事项

  • 完成测试