activecollab/datevalue 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

activecollab/datevalue

最新稳定版本:2.1.0

Composer 安装命令:

composer require activecollab/datevalue

包简介

Simple extension to Carbon that makes distinction between date and date-time objects

README 文档

README

Build Status

Simple extension to Carbon that makes distinction between date and date-time objects. In order to create a date object, write:

<?php namespace MyApp; use ActiveCollab\DateValue\DateValue; $date = new DateValue('last day of April 2017'); print $date->format('Y-m-d') . "\n";

In order to create a date and time object, create a DateTimeValue instance:

<?php namespace MyApp; use ActiveCollab\DateValue\DateTimeValue; $date_time = new DateTimeValue('last day of April 2017'); print $date_time->format('Y-m-d H:i:s') . "\n";

Since both DateValue, and DateTimeValue classes extend Carbon, you can also use all Carbon methods in your code:

<?php namespace MyApp; use ActiveCollab\DateValue\DateTimeValue; $date_time = (new DateTimeValue('last day of April 2017'))->endOfDay(); print $date_time->format('Y-m-d H:i:s') . "\n";

To specify a date range, use DateRange class. Ranges can be easily iterated:

<?php namespace MyApp; use ActiveCollab\DateValue\DateRange; use ActiveCollab\DateValue\DateValue; use ActiveCollab\DateValue\DateValueInterface; $first_day = new DateValue('first day of April 2017'); $last_day = new DateValue('last day of April 2017'); $date_range = new DateRange($first_day, $last_day); /** @var DateValueInterface $day */ foreach ($date_range as $day) { $this->assertInstanceOf(DateValueInterface::class, $day); print $day->format('Y-m-d') . "\n"; // Prints all days from 2017-04-01 to 2017-04-30. }

There are three helper date range classes:

<?php namespace MyApp; use ActiveCollab\DateValue\DateRange\MonthDateRange; use ActiveCollab\DateValue\DateRange\QuarterDateRange; use ActiveCollab\DateValue\DateRange\YearDateRange; new MonthDateRange(2017, 4); // April 2017. new QuarterDateRange(2017, 2); // Q2 2017. new YearDateRange(2017); // The whole 2017.

These ranges automatically calculate start and end dates, and they can be iterated, just like custom date ranges.

Version 2

Goals of second iteration of this package are:

  • Make the package require PHP 7.1, and use strict types in all files,
  • Make the library 100% covered with tests,
  • Add support for custom date ranges, as well as year, quarter, month, and day ranges,
  • Add support for easy looping in date ranges.

统计信息

  • 总下载量: 69.36k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 4
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固