日期时间包装器

1.0.3 2013-07-10 04:06 UTC

This package is not auto-updated.

Last update: 2024-09-24 03:24:53 UTC


README

                                      _           _           
 _ __ ___   ___  _ __ ___   ___ _ __ | |_   _ __ | |__  _ __  
| '_ ` _ \ / _ \| '_ ` _ \ / _ \ '_ \| __| | '_ \| '_ \| '_ \ 
| | | | | | (_) | | | | | |  __/ | | | |_ _| |_) | | | | |_) |
|_| |_| |_|\___/|_| |_| |_|\___|_| |_|\__(_) .__/|_| |_| .__/ 
                                           |_|         |_|    

简介

什么是 moment.php?

日期库,用于解析、操作和格式化日期。

有依赖项吗?

PHP 5.3 或更高版本,因为 moment.php 基于 php 的 DateTime 类

安装

以下是最简单的安装 moment 的设置

{
    "require": {
        "fightbulc/moment": "1.0.*"
    }
}

如果您想将其添加到现有项目,只需使用包引用:"fightbulc/moment": "1.0.*"

快速示例

1. 获取一个 moment

$m = new \Moment\Moment(); // default is "now" UTC
echo $m->format(); // e.g. 2012-10-03T10:00:00+0000

$m = new Moment('now', 'Europe/Berlin');
echo $m->format(); // e.g. 2012-10-03T12:00:00+0200

2. 自定义格式

$m = new \Moment\Moment('2012-04-25T03:00:00', 'CET');
echo $m->format('l, dS F Y / H:i (e)'); // Wednesday, 25th April 2012 / 03:00 (Europe/Berlin)

格式基于 PHP 的 Date 函数DateTime 类

3. 切换时区

$m = new \Moment\Moment('2012-04-25T03:00:00', 'CET');
echo $m->setTimezone('UTC')->format(); // 2012-04-25T01:00:00+0000

4. 创建自定义 moment 并对其进行操作

$m = new \Moment\Moment('2012-05-15T12:30:00', 'CET');
echo $m->add('hours', 2)->format(); // 2012-05-15T14:30:00+0200

$m = new \Moment\Moment('2012-05-15T12:30:00', 'CET');
echo $m->subtract('days', 7)->subtract('minutes', 15)->format(); // 2012-05-08T12:15:00+0200

5. 日期之间的差异

$m = new \Moment\Moment('2013-02-01T07:00:00');
$difference = $m->fromNow();

// or from a specific moment
$m = new \Moment\Moment('2013-02-01T07:00:00');
$difference = $m->from('2011-09-25T10:00:00');

// result comes as an array
var_dump($difference);

/* array(5) {
  ["seconds"]=> string(9) "-19630800"
  ["minutes"]=> string(7) "-327180"
  ["hours"]=> string(5) "-5453"
  ["days"]=> string(7) "-227.21"
  ["weeks"]=> string(6) "-32.46"
} */

路线图

日期验证

处理无效日期。

有用的日期计算

根据给定日期获取时间段。有效的周期可以是:周、月、季度、半年、年。

$m = new \Moment\Moment();

// Get the period for the given date
$m->getPeriodByDate('2012-04-08', 'month');

// result as array
[reference] => 2012-04-08, [start] => 2012-04-01, [end] => 2012-04-30, [interval] => 04

根据给定间隔获取日期周期。有效的周期可以是:周、月、季度、半年、年。

$m = new Moment();

// Get the period for the 2nd quarter of 2012
$m->getPeriodByInterval('2012', 'quarter', 2);

// result as array
[reference] => 2012-04-01, [start] => 2012-04-01, [end] => 2012-06-30, [interval] => 2

许可

Moment.php 在 MIT 许可证条款下免费分发。

版权(c)2012 Tino Ehrich

特此授予任何获得此软件及其相关文档副本(“软件”)的人,免费处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供者提供软件的人这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

软件按“现状”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,无论是因软件或其使用或其它方式而产生的。