PHP code example of chen-ht12306 / chronos
1. Go to this page and download the library: Download chen-ht12306/chronos library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
chen-ht12306 / chronos example snippets
'providers' => [
// ...
Chronos\ChronosServiceProvider::class,
],
'aliases' => [
// ...
'Chronos' => Chronos\Facades\Chronos::class,
],
use Chronos\Chronos;
// 获取当前时间
$now = Chronos::now();
// 创建指定日期
$date = Chronos::create(2024, 6, 15, 12, 30, 45);
// 从字符串解析
$date = Chronos::parse('2024-06-15 12:30:45');
// 从格式创建
$date = Chronos::createFromFormat('Y-m-d', '2024-06-15');
$date = Chronos::now();
// 添加时间
$date->addDays(5); // 添加5天
$date->addMonths(1); // 添加1个月
$date->addYears(2); // 添加2年
$date->addHours(3); // 添加3小时
$date->addMinutes(30); // 添加30分钟
$date->addSeconds(60); // 添加60秒
// 链式调用
$date = Chronos::now()
->addDays(5)
->addHours(3)
->startOfDay();
// 月初/月末
$date->startOfMonth(); // 月初
$date->endOfMonth(); // 月末
// 年初/年末
$date->startOfYear(); // 年初
$date->endOfYear(); // 年末
// 季度
$date->startOfQuarter(); // 季度初
$date->endOfQuarter(); // 季度末
// 周初/周末
$date->startOfWeek(); // 周初 (周一)
$date->endOfWeek(); // 周末 (周日)
$date1 = Chronos::create(2024, 6, 15);
$date2 = Chronos::create(2024, 6, 20);
// 比较方法
$date1->equalTo($date2); // 是否相等
$date1->greaterThan($date2); // 是否大于
$date1->lessThan($date2); // 是否小于
$date1->between($date2, $date3); // 是否在两个日期之间
// 便捷方法
$date->isToday(); // 是否今天
$date->isTomorrow(); // 是否明天
$date->isYesterday(); // 是否昨天
$date->isWeekend(); // 是否周末
$date->isWeekday(); // 是否工作日
$date->isFuture(); // 是否未来
$date->isPast(); // 是否过去
$date->isLeapYear(); // 是否闰年
$date1 = Chronos::create(2024, 6, 15);
$date2 = Chronos::create(2024, 6, 20);
// 获取差异
$date2->diffInDays($date1); // 天数差异
$date2->diffInHours($date1); // 小时差异
$date2->diffInMinutes($date1); // 分钟差异
$date2->diffInSeconds($date1); // 秒数差异
$date2->diffInWeeks($date1); // 周数差异
$date2->diffInMonths($date1); // 月数差异
$date2->diffInYears($date1); // 年数差异
// 人类可读格式
$date->diffForHumans(); // "3天前" / "2小时后"
$date = Chronos::create(2024, 6, 15, 12, 30, 45);
// 标准格式
$date->toDateString(); // "2024-06-15"
$date->toTimeString(); // "12:30:45"
$date->toDateTimeString(); // "2024-06-15 12:30:45"
// 友好格式
$date->toFormattedDateString(); // "Jun 15, 2024"
$date->toLongDateString(); // "June 15, 2024"
$date->toLongTimeString(); // "12:30:45 PM"
// 中文格式
$date->toCnDateString(); // "2024年06月15日"
$date->toCnDateTimeString(); // "2024年06月15日 12:30:45"
$date->toCnDateStringWithDay(); // "2024年06月15日 星期六"
// 自定义格式
$date->format('Y年m月d日 H:i:s'); // "2024年06月15日 12:30:45"
$date->format('Y/m/d'); // "2024/06/15"
$date = Chronos::create(2024, 6, 15);
// 中文月份和星期
$date->monthNameCn(); // "六月"
$date->dayNameCn(); // "星期六"
$date->shortDayNameCn(); // "周六"
// 中文日期
$date->toCnDateString(); // "2024年06月15日"
$date->toCnDateTimeString(); // "2024年06月15日 12:30:45"
$date->toCnDateStringWithDay(); // "2024年06月15日 星期六"
$date->toCnShortDateString(); // "06/15 周六"
// 中文相对时间
$date->diffForHumansCn(); // "3天前" / "2小时后"
$date = Chronos::create(2024, 6, 15, 12, 0, 0, 'UTC');
// 设置时区
$tokyo = $date->setTimezone('Asia/Tokyo');
// 转换为 UTC
$utc = $date->toUtc();
// 获取时区信息
$date->tzName(); // 时区名称
$date->offset(); // UTC 偏移秒数
$date = Chronos::create(2024, 6, 15, 12, 30, 45);
$date->year(); // 2024
$date->month(); // 6
$date->day(); // 15
$date->hour(); // 12
$date->minute(); // 30
$date->second(); // 45
$date->dayOfWeek(); // 0 (周日) - 6 (周六)
$date->dayOfYear(); // 167
$date->quarter(); // 2
$date->daysInMonth(); // 30
$date->dayName(); // "Saturday"
$date->monthName(); // "June"
$date->timestamp(); // Unix 时间戳
use Chronos\Chronos;
// 设置测试时间
Chronos::setTestNow('2024-06-15 12:00:00');
// 之后调用 now() 会返回测试时间
$now = Chronos::now(); // 2024-06-15 12:00:00
// 清除测试时间
Chronos::clearTestNow();
$date = Chronos::create(2024, 6, 15, 12, 30, 45);
// 转换为数组
$date->toArray();
// 转换为 Carbon (需要安装 carbon)
$carbon = $date->toCarbon();
// 转换为 DateTime
$dateTime = $date->toDateTime();
// 转换为 DateTimeImmutable
$dateTimeImmutable = $date->toDateTimeImmutable();
// 转换为时间戳
$timestamp = $date->timestamp();
return [
// 默认时区
'timezone' => env('CHRONOS_TIMEZONE', null),
// 默认语言
'locale' => env('CHRONOS_LOCALE', 'zh_CN'),
];
bash
php artisan vendor:publish --tag=chronos-config