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'

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

// 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 许可证 许可。