phx2600/firstfriday

该包已废弃,不再维护。未建议替代包。

计算下个月的第一周五。

2.0.0 2017-09-02 00:09 UTC

This package is auto-updated.

Last update: 2023-10-31 21:23:37 UTC


README

Latest Stable Version Total Downloads Author License Build Status

简介

计算一个月第一个周五的便利库。

喜欢这个项目?请通过 捐款 支持我。

要求

使用 Composer 安装

composer require phx2600/firstfriday

用法

首先导入 FirstFriday

use PHX2600/FirstFriday;

然后实例化类

$firstFriday = new FirstFriday($timezone);

其中 $timezone 是用于日期计算的时区的字符串表示。例如 America/PhoenixAntarctica/TrollUTC。查看 http://bit.ly/php-tzs 获取所有可用时区的完整列表。

实例化类后,您可以通过 next() 方法获取下个月第一个周五

$nextFirstFriday = $firstFriday->next();

或通过 previous() 方法获取上个月第一个周五

$previousFirstFriday = $firstfriday->previous();

next()previous() 方法都返回 Carbon 的实例。这使得日期计算和返回特定日期信息变得容易。例如

返回预格式化的日期字符串

$nextFirstFriday->toDateString();           // 1975-12-25
$nextFirstFriday->toFormattedDateString();  // Dec 25, 1975
$nextFirstFriday->toDateTimeString();       // 1975-12-25 14:15:16
$nextFirstFriday->toDayDateTimeString();    // Thu, Dec 25, 1975 2:15 PM

返回自定义格式化的字符串

$nextFirstFriday->format('l jS \\of F Y h:i:s A');  // Thursday 25th of December 1975 02:15:16 PM

以人类可读的格式获取到下一个第一个周五的时间

$nextFirstFriday->diffForHumans();  // Something like '1 week from now' or '1 month from now'

Carbon 还提供了一些方便的比较函数,例如

// The following return boolean true or false
$firstFriday->isToday();
$firstFriday->isYesterday();
$firstFriday->isTomorrow();
$firstFriday->isFuture();
$firstFriday->isPast();

查看 Carbon 文档 获取更多详细信息。

您也可以覆盖日期计算中用作 "今天" 的值。这允许您在今天的日期上执行计算。这可以通过在实例化 FirstFriday 类时传递 Carbon 实例作为第二个参数来实现

$today = Carbon::create(2017, 7, 1, 0, 0, 0, 'America/Phoenix');
$firstFriday = new FirstFriday('America/Phoenix', $today);

或流畅地

$firstFriday = new FirstFriday('America/Phoenix');
$today = Carbon::create(2017, 7, 1, 0, 0, 0, 'America/Phoenix');

$firstFriday->overrideToday($today)->next();

注意:务必设置 $today 参数的时区与传递给 FirstFriday 类的 $timezone 参数相同的时区,以确保日期计算的一致性。否则可能会导致意外结果。

故障排除

请将错误报告给 GitHub 问题跟踪器

版权

本项目受 MIT 许可证 许可。