首页 > 后端开发 > 正文

PHP函数篇(一)---日期/时间函数篇 PHP的参考手册

2024-09-21 01:27:57 | 我爱编程网

最近经常有小伙伴私信询问PHP函数篇(一)---日期/时间函数篇 PHP的参考手册相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。

本文目录一览:

PHP函数篇(一)---日期/时间函数篇 PHP的参考手册

PHP函数篇(一)---日期/时间函数篇

# 1、修改时区

PHP 默认的时区设置是 UTC 时间,即与格林尼治时间一致。

(1)、修改配置文件php.ini中date.timezone的属性,然后重启 Apache 服务器即可

date.timezone=Asia/Shanghai

(2)、使用 date_default_timezone_set()函数设置时区。 和php.ini中 date.timezone 属性的值相同。

date_default_timezone_set('Asia/Shanghai');//设置时区echo date('Y-m-d H:i:s');//输出的当前时间为北京时间 # 2、time()函数

用来返回当前时间的 UNIX 时间戳。

date_default_timezone_set('Asia/Shanghai');//设置时区echo time() ; //输出的是当前时间的时间戳 # 3.mktime()和 strtotime()函数

在 PHP 中,如果需要将日期和时间转变成 UNIX 时间戳,可以使用 mktime()函数或者 strtotime()函数。

(1)mktime()函数。 我爱编程网

mktime(hour,minute,second,month,day,year,is_dst)

参数描述hour可选 规定小时minute可选 规定分钟second可选 规定秒month可选 规定用数字表示的月day可选 规定天year可选 规定年在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。is_dst可选 如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1 自 5.1.0 起,is_dst 参数被废弃 因此应该使用新的时区处理特性。例子## mktime() 函数对于日期运算和验证非常有用。自动校正越界的日期:var_dump(date("Y-m-d",mktime(0,0,0,12,36,2022)));var_dump(date("Y-m-d",mktime(0,0,0,13,1,2022)));var_dump(date("Y-m-d",mktime(0,0,0,1,1,99)));输出:string(10) "2023-01-05"string(10) "2023-01-01"string(10) "1999-01-01"## time() 函数定义和用法 time() 函数返回当前时间的 Unix 时间戳。例子### 例子1var_dump(time());var_dump(date("Y-m-d",time()));输出:int(1652613469)string(10) "2022-05-15"### 例子2$nextWeek = time() + (7 * 24 * 60 * 60);var_dump('Now:'. date('Y-m-d'));var_dump('Next Week: '. date('Y-m-d', $nextWeek)); 输出:string(16) "Now:2022-05-15"string(21) "Next Week: 2022-05-22"### 日常开发可能会用到的案例(date()+ time() + strtotime())#### 当月的天数,某月的天数$current_month_days = date('t');$some_month_days= date('t',strtotime('2023-2-6'));var_dump($current_month_days);var_dump($some_month_days);输出string(2) "31"string(2) "28"#### 这个月的第一天的日期,这个月的最后一天的日期$current_month_first_date = date('Y-m-01');$current_month_last_date= date('Y-m-d',strtotime(date('Y-m-01',strtotime('+1 month')).'-1 day'));var_dump($current_month_first_date);var_dump($current_month_last_date);输出string(10) "2022-05-01"string(10) "2022-05-31"#### 上个月第一天的日期格式,上个月最后一天的日期$last_month_start_date = date('Y-m-01',strtotime('last month'));$last_month_end_date = date('Y-m-d',strtotime(date('Y-m-01').'-1 day'));var_dump($last_month_start_date);var_dump($last_month_end_date);输出string(10) "2022-04-01"string(10) "2022-04-30"#### 下个月的第一天时间日期 ,下个月的最后一天时间日期$next_mont_start_date = date('Y-m-01',strtotime('next month'));$next_mont_end_date = date('Y-m-d',strtotime(date('Y-m-01',strtotime('+2 month')).'-1 day'));var_dump($next_mont_start_date);var_dump($next_mont_end_date);输出string(10) "2022-06-01"string(10) "2022-06-30"#### 今日开始-结束时间戳$today_start_time = strtotime(date('Y-m-d 00:00:00',time()));$today_end_time = strtotime(date('Y-m-d 23:59:59'));var_dump($today_start_time);var_dump($today_end_time);输出int(1652572800)int(1652659199)#### 本周开始-结束时间戳(2022-05-09 ----- 2022-05-15)$week_start_time = mktime(0, 0, 0, date("m"),date("d")-date("w")+1,date("Y"));$week_end_time = mktime(23,59,60,date("m"),date("d")-date("w")+7,date("Y"));var_dump($week_start_time);var_dump($week_end_time); 输出int(1652659200)int(1653264000)#### 本月开始-结束时间戳(2022-05-01 ----- 2022-05-31)$month_start_time = strtotime(date('Y-m-01').'-1 day')+24*60*60;$month_end_time = strtotime(date('Y-m-01 00:00:00',strtotime('+1 month')));var_dump($month_start_time);var_dump($month_end_time);输出int(1651363200)int(1654041600)#### 本年开始时间-结束时间戳(2022-01-01 ----- 2022-12-31)$year_start_time = strtotime(date('Y-01-01 00:00:00',time()));$year_end_time = strtotime(date('Y-01-01 00:00:00',strtotime('+1 year')));var_dump($year_start_time);var_dump($year_end_time);输出int(1640995200)int(1672531200)原文:

PHP函数篇(一)---日期/时间函数篇 PHP的参考手册

PHP处理数组常用的几个函数

一、数组操作的基本函数
数组的键名和值
array_values($arr); 获得数组的值
array_keys($arr); 获得数组的键名
array_flip($arr); 数组中的值与键名互换(如果有重复前面的会被后面的覆盖)
in_array("apple",$arr); 在数组中检索apple
array_search("apple",$arr); 在数组中检索apple ,如果存在返回键名
array_key_exists("apple",$arr); 检索给定的键名是否存在数组中
isset($arr[apple]): 检索给定的键名是否存在数组中
数组的内部指针
current($arr); 返回数组中的当前单元
pos($arr); 返回数组中的当前单元
key($arr); 返回数组中当前单元的键名
prev($arr); 将数组中的内部指针倒回一位
next($arr); 将数组中的内部指针向前移动一位
end($arr); 将数组中的内部指针指向最后一个单元
reset($arr; 将数组中的内部指针指向第一个单元
each($arr); 将返回数组当前元素的一个键名/值的构造数组,并使数组指针向前移动一位
list($key,$value)=each($arr); 获得数组当前元素的键名和值
数组和变量之间的转换
extract($arr);用于把数组中的元素转换成变量导入到当前文件中,键名当作变量名,值作为变量值
注:(第二个参数很重要,可以看手册使用)使用方法 echo $a;
compact(var1,var2,var3);用给定的变量名创建一个数组
二、数组的分段和填充
数组的分段
array_slice($arr,0,3); 可以将数组中的一段取出,此函数忽略键名
array_splice($arr,0,3,array("black","maroon")); 可以将数组中的一段取出,与上个函数不同在于返回的序列从原数组中删除
分割多个数组
array_chunk($arr,3,TRUE); 可以将一个数组分割成多个,TRUE为保留原数组的键名
数组的填充
array_pad($arr,5,'x'); 将一个数组填补到制定长度
三、数组与栈
array_push($arr,"apple","pear"); 将一个或多个元素压入数组栈的末尾(入栈),返回入栈元素的个数
array_pop($arr); 将数组栈的最后一个元素弹出(出栈)
四、数组与列队
array_shift($arr);数组中的第一个元素移出并作为结果返回(数组长度减1,其他元素向前移动一位,数字键名改为从零技术,文字键名不变)
array_unshift($arr,"a",array(1,2));在数组的开头插入一个或多个元素
五、回调函数
array_walk($arr,'function','words'); 使用用户函数对数组中的每个成员进行处理(第三个参数传递给回调函数function)
array_mpa("function",$arr1,$arr2); 可以处理多个数组(当使用两个或更多数组时,他们的长度应该相同)
array_filter($arr,"function"); 使用回调函数过滤数组中的每个元素,如果回调函数为TRUE,数组的当前元素会被包含在返回的结果数组中,数组的键名保留不变
array_reduce($arr,"function","*"); 转化为单值函数(*为数组的第一个值)
六、数组的排序
通过元素值对数组排序
sort($arr); 由小到大的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序
rsort($arr); 由大到小的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序
usort($arr,"function"); 使用用户自定义的比较函数对数组中的值进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)忽略键名的数组排序
asort($arr); 由小到大的顺序排序(第二个参数为按什么方式排序)保留键名的数组排序
arsort($arr); 由大到小的顺序排序(第二个参数为按什么方式排序)保留键名的数组排序
uasort($arr,"function"); 使用用户自定义的比较函数对数组中的值进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)保留键名的数组排序
通过键名对数组排序
ksort($arr); 按照键名正序排序
krsort($arr); 按照键名逆序排序
uksort($arr,"function"); 使用用户自定义的比较函数对数组中的键名进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)
自然排序法排序
natsort($arr); 自然排序(忽略键名)
natcasesort($arr); 自然排序(忽略大小写,忽略键名)
七、数组的计算
数组元素的求和
array_sum($arr); 对数组内部的所有元素做求和运算
数组的合并
array_merge($arr1,$arr2); 合并两个或多个数组(相同的字符串键名,后面的覆盖前面的,相同的数字键名,后面的不会做覆盖操作,而是附加到后面)
“+”$arr1+$arr2; 对于相同的键名只保留后一个
array_merge_recursive($arr1,$arr2); 递归合并操作,如果数组中有相同的字符串键名,这些值将被合并到一个数组中去。如果一个值本身是一个数组,将按照相应的键名把它合并为另一个数组。当数组 具有相同的数组键名时,后一个值将不会覆盖原来的值,而是附加到后面
数组的差集
array_diff($arr1,$arr2); 返回差集结果数组
array_diff_assoc($arr1,$arr2,$arr3); 返回差集结果数组,键名也做比较
数组的交集
array_intersect($arr1,$arr2); 返回交集结果数组
array_intersect_assoc($arr1,$arr2); 返回交集结果数组,键名也做比较
八、其他的数组函数
range(0,12); 创建一个包含指定范围单元的数组
array_unique($arr); 移除数组中重复的值,新的数组中会保留原始的键名
array_reverse($arr,TRUE); 返回一个单元顺序与原数组相反的数组,如果第二个参数为TRUE保留原来的键名
//srand((float)microtime()*10000000); 随机种子触发器
array_rand($arr,2); 从数组中随机取出一个或 多个元素
shuffle($arr); 将数组的顺序打乱
求课吧有很多关于PHP编程方面的教程

PHP函数篇(一)---日期/时间函数篇 PHP的参考手册

PHP的参考手册

我爱编程网(https://www.52biancheng.com)小编还为大家带来PHP的参考手册的相关内容。

函数完整参考手册: 序号分类描述1Array 函数 2Calendar 函数日历扩展包含了简化不同日历格式间的转换的函数。 3Date/Time 函数Date/Time 函数用于从 PHP 脚本运行的服务器上获取日期和时间并进行格式化。 4Directory 函数Directory 函数用于获得关于目录及其内容的信息。 5Error/Logging 函数Error/Logging 函数用于对错误进行处理和记录。 6Filesystem 函数Filesystem 函数用于访问和操作文件系统。 7Filter 函数PHP 过滤器用于对来自非安全来源的数据(比如用户输入)进行验证和过滤。 8FTP 函数FTP 函数通过文件传输协议 (FTP) 提供对文件服务器的客户端访问。 9HTTP 函数HTTP 函数用于对由 Web 服务器发送到浏览器的信息进行操作。 10Libxml 函数Libxml 函数和常量与 SimpleXML、XSLT 以及 DOM 函数一起使用。 11Mail 函数mail() 函数用于从脚本中直接发送电子邮件。 12Math 函数Math 函数能处理 integer 和 float 范围内的值。 13杂项函数我们把不属于其他类别的函数归纳到杂项函数类别。 14MySQLi 函数MySQLi 函数用于访问 MySQL 数据库服务器。 15SimpleXML 函数SimpleXML 扩展提供了一种获取 XML 元素的名称和文本的简单方式。16String 函数 17XML Parser 函数XML Parser 函数允许您创建 XML 解析器,并为 XML 事件定义句柄。18Zip File 函数Zip File 函数允许您读取压缩文件。

以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
标签: PHP
与“PHP函数篇(一)---日期/时间函数篇 PHP的参考手册”相关推荐