首页 后端开发 php教程 实例介绍PHP日期函数date格式转换_PHP教程

实例介绍PHP日期函数date格式转换_PHP教程

Jul 13, 2016 pm 05:48 PM
date php 介绍 函数 处理 实例 我们 日期 时间 格式 网站开发 转换 进行

网站开发时我们经常需要对日期、时间进行处理,在PHP里提供了很多日期、时间函数方便PHP开发者对日期、时间进行计算、格式转换。所以掌握PHP日期函数非常必要,也为处理PHP日期函数与Mysql数据库日期之间的格式转换打下基础。这里以PHP实例介绍PHP基础:日期函数date和Unix时间戳函数以及相互间日期格式的转换方法。
 
PHP日期时区设定
 
在启用PHP日期函数之前,首先需要确保设定的时区是正确的,否则显示出的日期可能会有出入。在PHP环境搭建时只需要在PHP.INI配置文件中设定date.timezone为相应的时区即可。如果你没有操作PHP.INI配置文件的权利,可通过PHP时区函数date_default_timezone_get(void)获取当前PHP运行环境的时区,再使用date_default_timezone_set(string $timezone_identifier)函数设定相应的时区,更多PHP支持的时区可查询http://www.php.net/manual/en/timezones.php。
 
PHP格式化日期函数Date
 
 原型string date(string $format[,int $timestamp])
 
$format - PHP日期函数date的格式代码
$timestamp - Unix时间戳,默认为当前时间戳(可选)
 
格式化字符———- 说明 ——— 返回值描述
 
日(Day)
 
1
d —— 月份中的第几天,返回2位数字 ——01 到31
2
j —— 月份中的第几天,1至9不带零 ——1 到31
3
S —— 每月天数的英文后缀 ——2个字符st,nd,rd或者th。可以和j一起用
4
z —— 年份中的第几天 ——0 到366
 
 
星期(Week)
 
1
l —— 星期几 ——Sunday 到Saturday
2
D —— 英文星期几,文本表示 ——3个字母Mon 到Sun
3
N —— 以数字表示星期几(PHP 5.1.0 新加)——  1(表示星期一)到7(表示星期天)
4
w —— 星期中的第几天 ——0(表示星期天)到6(表示星期六)
5
W ——ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的)——42(当年的第42 周)
 
 
月(Month)
 
1
F —— 月份 ——January 或者March January 到December
2
m —— 数字表示的月份 ——01 到12
3
M —— 三个字母缩写表示的月份 ——Jan 到Dec
4
n —— 数字表示的月份 ——1 到12
5
t —– 月份天数 ——28 到31
 
 
年(Year)
 
1
L ——闰年,以布尔值表示 —— 如果是闰年为1,否则为0
2
o ——ISO-8601 格式年份数字。类似于Y ,除非ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加)——1999 or 2003
3
Y —— 四位数字完整表示的年份 ——1999 或2003
4
y —— 两位数字表示的年份 ——99 或03
 
 
时间(Time)
 
1
a —— 上午和下午 ——am 或pm
2
A —— 上午和下午 ——AM 或PM
3
B ——Swatch Internet时间 ——000 到999
4
g —— 小时,12 小时格式 —— 没有前导零1 到12
5
G —— 小时,24 小时格式 —— 没有前导零0 到23
6
h —— 小时,12 小时格式 —— 有前导零01 到12
7
H —— 小时,24 小时格式 —— 有前导零00 到23
8
i —— 分钟 ——  00 到59
9
s —— 秒 ——  00 到59
 
 
时区(Timezone)
 
1
e —— 时区标识(PHP 5.1.0 新加)——UTC,GMT,Atlantic/Azores
2
I —— 是否为夏令时 —— 夏令时为1,否则为0
3
T —– 时区缩写 —— 例如:EST,MDT
4
Z —— 与当前时区的时区差,单位为秒  ——  -43200 到43200
 
 
完整的日期/时间(Full Date/Time)
 
1
c ——ISO 8601 格式的日期(PHP 5 新加) ——2004-02-12T15:19:21+00:00
2
r ——RFC 822 格式的日期 ——Thu, 21 Dec 2000 16:01:07 +0200
3
U —— 从1970 1.1到某时刻总的描述,即Unix时间戳,参见time()
 
 
PHP日期函数date格式化字符的英文文档请参考http://www.php.net/manual/en/function.date.php
 
date函数使用提示:在使用PHP日期函数date输出格式化的日期格式时,你可以通过首先写出你需要输出的日期格式后,再使用date日期函数中的格式化字符进行组合,使用起来会很得心应手。
 
使用PHP日期函数date对Unix时间戳进行格式转换
 
PHP date日期函数第二个可选参数$timestamp是以Unix时间戳的形式存在,通过这个参数可以将Unix时间戳转换成相应的日期格式。使用Unix时间戳在参数传递,日期计算等方面好处很多,方便简洁。
 
PHP中将日期转换成Unix时间戳的常用函数主要有mktime、time、strtotime。
 
PHP日期函数mktime主要用来将日期和时间转换成Unix时间戳格式。
 
 原型如下
1
int mktime ([int $hour = date("H")
2
[,int $minute = date("i")
3
[,int $second = date("s")
4
[,int $month = date("n")
5
[,int $day = date("j")
6
[,int $year = date("Y")
7
[,int $is_dst = -1
8
]]]]]]])
注:mktime函数的所有参数都是可选的,其中$is_dst表示是否为夏令时,当mktime函数参数都为空时,将默认为当前时间,类似于time函数。
 
PHP日期函数time主要用来获取当前时间,以Unix时间戳格式存在。
 
PHP日期函数strtotime主要用来将英文描述的日期时间转换为Unix 时间戳。
 
 原型如下
1
int strtotime(string $time[,int $now])
 
 
注:$time参数主要是以英文文本描述的形式存在。
$now可选参数主要表示为$time计算日期时间的一个基准,默认为当前Unix时间戳。
 
PHP date日期函数主要用来转换输出各种日期格式,如果想要获取日期和时间的各个部分,可以通过传递Unix时间戳参数给getdate函数获取,getdate函数会返回一个相关数组,数组键值如下:
 
01
seconds —- 秒数
02
minutes —- 分钟
03
hours —- 小时
04
mday —- 月份中日期
05
wday —- 星期几,0(表示星期天)到6(表示星期六)
06
mon —- 月份
07
year —- 四位数字表示的完整年份
08
yday —- 一年中第几天
09
weekday —- 星期的文本表示,Sunday 到Saturday
10
month —- 月份文本表示,January 到December
11
0 —- 从Unix纪元开始至今的秒数,和time()的返回值类似。
 
 
通过上述几个PHP Unix时间戳函数,再配合PHP date日期函数可以进行各种日期格式转换、计算和输出。
 
PHP日期计算实例:
 
计算年龄
 
01
02
    $day = 1;
03
    $month = 1;
04
    $year = 1989;
05
    
06
    $birthday = mktime(0,0,0,$month,$day,$year);
07
    
08
    $nowunix = time();
09
    
10
    $age = $nowunix - $birthday;
11
    
12
    $age = floor($age / (365*24*60*60));
13
    
14
    echo $age;
15
?>
 
 
日期加减
 
01
02
  $nowUnix = time();
03
    
04
    $addTime = $nowUnix + (24*60*60); //日期加一天
05
    
06
    $redTime = $nowUnix - (24*60*60);//日期减一天
07
    
08
    echo date("Y-m-j",$addTime);
09
    echo date("Y-m-j",$redTime);
10
?>
 
 
strtotime日期计算与格式转换实例
 
日期加减也可以通过strtotime函数完成
 
 
 
01
02
     $nowTime = strtotime("now");
03
    echo date("Y-m-j",$nowTime)."
";
04
    
05
    $nowTime = strtotime("10 September 2010");
06
    echo date("Y-m-j",$nowTime)."
";
07
    
08
    $nowTime = strtotime("+1 day");
09
    echo date("Y-m-j",$nowTime)."
";
10
    
11
    $nowTime = strtotime("+1 week");
12
    echo date("Y-m-j",$nowTime)."
";
13
    
14
    $nowTime = strtotime("+1 week 2 days 4 hours 2 seconds");
15
    echo date("Y-m-j",$nowTime)."
";
16
    
17
    $nowTime = strtotime("next Thursday");
18
    echo date("Y-m-j",$nowTime)."
";
19
    
20
    $nowTime = strtotime("last Monday");
21
    echo date("Y-m-j",$nowTime)."
";
22
?>
至此,PHP日期函数date格式化字符含义以及部分PHP Unix时间戳函数的介绍以及相互间的转换和格式化输出实例就介绍完了,这对掌握PHP日期、时间函数的计算、与转换是非常必要的。希望对PHP入门学习的朋友有所帮助。
 
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478412.htmlTechArticle网站开发时我们经常需要对日期、时间进行处理,在PHP里提供了很多日期、时间函数方便PHP开发者对日期、时间进行计算、格式转换。所以...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

CakePHP 项目配置 CakePHP 项目配置 Sep 10, 2024 pm 05:25 PM

在本章中,我们将了解CakePHP中的环境变量、常规配置、数据库配置和电子邮件配置。

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 日期和时间 CakePHP 日期和时间 Sep 10, 2024 pm 05:27 PM

为了在 cakephp4 中处理日期和时间,我们将使用可用的 FrozenTime 类。

CakePHP 文件上传 CakePHP 文件上传 Sep 10, 2024 pm 05:27 PM

为了进行文件上传,我们将使用表单助手。这是文件上传的示例。

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

在本章中,我们将学习以下与路由相关的主题?

讨论 CakePHP 讨论 CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

CakePHP 创建验证器 CakePHP 创建验证器 Sep 10, 2024 pm 05:26 PM

可以通过在控制器中添加以下两行来创建验证器。

See all articles