日期函数计算年月日php

PHP是一门开源的通用脚本语言,被广泛应用于Web开发领域。在Web开发中,日期时间的处理是非常重要的一项功能。PHP提供了很多的日期时间函数类、函数库,提供快捷、高效的日期时间处理功能,让Web开发变得更加简单快捷。本文将介绍PHP中常用的日期时间计算函数及类,帮助初学者快速掌握它们的用法。

一、PHP常用日期时间函数

1. date()函数

date()函数用于格式化一个本地时间或日期。用法如下:

```

string date ( string $format [, int $timestamp = time() ] )

```

其中,`$format`参数表示所需的日期时间格式,`$timestamp`参数表示可选的时间戳,如果不提供该参数,则默认使用当前时间的时间戳。下面是一些常用的日期时间格式:

| 格式 | 说明 |

| --- | --- |

| Y | 四位数的完整年份 |

| y | 两位数的年份 |

| m | 数字表示的月份,有前导零 |

| n | 数字表示的月份,没有前导零 |

| d | 月份中的第几天,有前导零 |

| j | 月份中的第几天,没有前导零 |

| H | 时,24小时制,有前导零 |

| h | 时,12小时制,有前导零 |

| i | 分钟数,有前导零 |

| s | 秒数,有前导零 |

| A | 大写的上午或下午(AM 或 PM) |

| a | 小写的上午或下午(am 或 pm) |

例如:

```

echo date("Y-m-d H:i:s");

```

输出:2021-01-01 12:00:00

2. strtotime()函数

strtotime()函数用于将一个日期时间字符串解析为 UNIX 时间戳(自1970年1月1日以来的秒数)。用法如下:

```

int strtotime ( string $time [, int $now = time() ] )

```

其中,`$time`表示要解析的日期时间字符串,`$now`参数表示可选的时间戳,如果不提供该参数,则默认使用当前时间的时间戳。

例如:

```

$time_str = '2:00pm December 1 2021';

$timestamp = strtotime($time_str);

echo $timestamp;

```

输出:1640995200

3. mktime()函数

mktime()函数用于创建一个日期的时间戳,用法如下:

```

int mktime ( [int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )

```

其中,`$hour`参数表示小时数,`$minute`参数表示分钟数,`$second`参数表示秒数,`$month`参数表示月份,`$day`参数表示月份中的第几天,`$year`参数表示年份,`$is_dst`参数表示可选的夏令时标记,默认值为-1,表示使用本地设置。

例如:

```

$timestamp = mktime(0,0,0,1,1,2022);

echo $timestamp;

```

输出:1640995200

4. time()函数

time()函数返回当前时间的 UNIX 时间戳,用法如下:

```

int time ( void )

```

例如:

```

echo time();

```

输出:1644811617

二、PHP常用日期时间类

1. DateTime类

DateTime类是一个强大、灵活的日期时间处理类,它提供了Date和Time两个类的集合,可以用于表示日期和时间。下面是使用DateTime类创建日期时间对象的示例:

```

$datetime = new DateTime('2022-01-01 12:00:00');

echo $datetime->format('Y-m-d H:i:s');

```

输出:2022-01-01 12:00:00

DateTime类提供了很多常用的方法,如:

- add():增加一个时间间隔

- sub():减去一个时间间隔

- diff():计算两个日期时间对象之间的时间差

- format():格式化输出日期时间

- setTime():设置时间

- setDate():设置日期

- setTimestamp():设置时间戳

- getTimestamp():获取时间戳

- getOffset():获取时区偏移量等。

2. DateInterval类

DateInterval类用于表示两个日期或时间之间的时间间隔,例如计算两个日期之间的天数、小时数、分钟数等。用法如下:

```

$date1 = new DateTime('2022-01-01');

$date2 = new DateTime('2022-01-10');

$interval = $date1->diff($date2);

echo $interval->format('%R%a days');

```

输出:+9 days

3. DateTimeZone类

DateTimeZone类用于处理时区相关的问题,它可以获取指定时区的时间,也可以获取当前时区的信息。用法如下:

```

$timezone = new DateTimeZone('Asia/Shanghai');

$date = new DateTime('now', $timezone);

echo $date->format('Y-m-d H:i:s');

```

输出:2022-02-15 16:38:57

4. DatePeriod类

DatePeriod类用于生成一段时间内的日期列表,例如生成一个月内的每一天或者每隔一天的日期等。用法如下:

```

$start = new DateTime('2022-01-01');

$end = new DateTime('2022-01-31');

$interval = new DateInterval('P1D');

$dates = new DatePeriod($start, $interval, $end);

foreach($dates as $date){

echo $date->format('Y-m-d') . '
';

}

```

输出:

2022-01-01

2022-01-02

2022-01-03

...

2022-01-30

2022-01-31

结语:

本文主要介绍了PHP中常用的日期时间计算函数及类,其中包括date()函数、strtotime()函数、mktime()函数、time()函数、DateTime类、DateInterval类、DateTimeZone类、DatePeriod类等。这些函数和类提供了丰富的日期时间处理功能,能够帮助我们轻松地处理日期时间相关问题。初学者可以通过本文了解它们的用法,提高自己的编程水平。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(103) 打赏

评论列表 共有 1 条评论

一枝梨花╮ 1年前 回复TA

人生因有朋友而牵挂,因有事业而从容,因有成就而自豪,因有爱和被爱而幸福,因有希望而奋斗,因有健康而快乐,祝你应有尽有,天天快乐!

立即
投稿
发表
评论
返回
顶部