phpdate()(php获取年月日)

[img]

简介:

在 PHP 编程中,将日期和时间以字符串的形式输出是一项很常见的任务。PHP 提供了多种处理日期和时间的函数,其中一个非常有用的函数就是 phpdate()。

多级标题:

一、phpdate()是什么?

二、phpdate()的语法和参数

三、phpdate()的常见用法

四、phpdate()的实例演示

内容详细说明:

一、phpdate()是什么?

phpdate()是一个 PHP 函数,用于将 Unix 时间戳转换为可读性更好的日期和时间格式。Unix 时间戳是一个表示当前系统时间的整数值,它表示从 1970 年 1 月 1 日开始到当前时间所经过的秒数。

在 Web 开发中,我们常需要显示或处理日期和时间,这时候 phpdate() 就非常有用了。

二、phpdate()的语法和参数

phpdate() 的语法如下:

```

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

```

其中,$format 参数是必选参数,指定输出日期和时间的格式。$timestamp 参数是可选参数,代表要转换的 Unix 时间戳,默认值是当前系统时间。

$format 参数是非常重要的,这决定了 phpdate() 输出的日期和时间格式。$format 可以包含各种格式化字符,如下表所示:

| 格式化字符 | 说明 |

| ---------- | ---- |

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

| D | 星期几的缩写,如 Mon |

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

| l | 星期几的完整名称,如 Monday |

| S | 月份中的英文序数后缀,如 st,nd |

| w | 星期几的数字表示,0 表示 Sunday |

| z | 年份中的第几天,从 0 开始计数 |

| F | 月份的完整名,如 January |

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

| M | 月份的英文缩写,如 Jan |

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

| Y | 年份的四位数字表示 |

| y | 年份的两位数字表示 |

| a | 上午还是下午,小写 |

| A | 上午还是下午,大写 |

| g | 小时,12 小时制,无前导零 |

| G | 小时,24 小时制,无前导零 |

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

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

| i | 分钟,有前导零 |

| s | 秒数,有前导零 |

| O | 时区偏移量,如 +0800 |

| T | 时区缩写,如 CST |

| U | Unix 时间戳 |

三、phpdate()的常见用法

phpdate() 可以输出各种格式的日期和时间,下面介绍几个常见的用法。

1. 输出当前系统时间

```

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

```

这会输出类似于 2022-05-10 11:20:30 的格式化时间字符串。

2. 输出指定格式的日期和时间

```

echo date('F j, Y, g:i a', strtotime('2022-05-10 11:20:30'));

```

这会输出类似于 May 10, 2022, 11:20 am 的日期和时间格式化字符串。strtotime() 函数用于将日期时间字符串转换为 Unix 时间戳。

3. 获取当前时间戳

```

echo time();

```

这会输出当前系统时间对应的 Unix 时间戳。

4. 判断某个时间是否在某个时间范围内

```

$now = time();

$start = strtotime('2022-05-01');

$end = strtotime('2022-05-31');

if ($now >= $start && $now <= $end) {

echo '当前时间在 5 月份';

} else {

echo '当前时间不在 5 月份';

```

这会判断当前时间是否在 2022 年 5 月 1 日到 5 月 31 日之间。

四、phpdate()的实例演示

下面通过一个完整的实例来演示 phpdate() 的用法:

```

// 设置时区为上海

date_default_timezone_set('Asia/Shanghai');

$timestamp = time();

echo "当前时间戳为:$timestamp
";

echo "当前时间为:" . date('Y-m-d H:i:s', $timestamp) . "
";

echo "本周一为:" . date('Y-m-d H:i:s', strtotime('monday this week')) . "
";

echo "当前时间在" . (date('L') ? '' : '不') . "是闰年
";

echo date('Y-m-d H:i:s', strtotime('-1 day')) . "
";

echo date('Y-m-d H:i:s', strtotime('+1 week')) . "
";

?>

```

输出结果如下所示:

```

当前时间戳为:1651993398

当前时间为:2022-05-07 23:03:18

本周一为:2022-05-02 00:00:00

当前时间在不是闰年

2022-05-06 23:03:18

2022-05-14 23:03:18

```

本例中,首先调用了 date_default_timezone_set() 函数设置时区为上海。然后输出了当前系统时间对应的 Unix 时间戳和可读性更好的时间格式。接着使用 strtotime() 函数获取本周一的时间,以及判断当前时间是否是闰年。最后使用 strtotime() 函数对时间进行加减运算,输出明天的时间和下周的时间。

标签列表