Home  >  Article  >  Backend Development  >  How to convert timestamp to format in php

How to convert timestamp to format in php

藏色散人
藏色散人Original
2021-12-17 09:36:473164browse

How to implement timestamp format conversion in php: 1. Obtain the unix timestamp of the specified date through strtotime; 2. Use the date function to convert the specified timestamp into the system time format.

How to convert timestamp to format in php

The operating environment of this article: Windows 7 system, PHP version 7.1, Dell G3 computer.

php How to convert timestamp to format?

Conversion of timestamp and date format in php

1. The PHP timestamp function obtains the unix timestamp of the specified date strtotime(”2009-1- 22″) The example is as follows:

echo strtotime(”2009-1-22″) 结果:1232553600

Instructions: Return the timestamp of 0:00:00 on January 22, 2009

2. The PHP timestamp function to obtain the English text date and time is as follows:

For comparison, use date to convert the current timestamp and the specified timestamp into system time

(1) Print the timestamp at this time tomorrow strtotime(” 1 day”)

Current time: echo date(”Y-m-d H:i:s”,time()) Result: 2009-01-22 09:40:25

Specified time: echo date(”Y-m-d H:i :s”,strtotime(” 1 day”)) Result: 2009-01-23 09:40:25

(2) Print the timestamp of yesterday at this time strtotime(”-1 day”)

Current time: echo date(”Y-m-d H:i:s”,time()) Result: 2009-01-22 09:40:25

Specified time: echo date(”Y-m-d H :i:s”,strtotime(”-1 day”)) Result: 2009-01-21 09:40:25

(3) Print the timestamp at this time next week strtotime(” 1 week ”)

Current time: echo date(”Y-m-d H:i:s”,time()) Result: 2009-01-22 09:40:25

Specified time: echo date ("Y-m-d H:i:s",strtotime(" 1 week")) Result: 2009-01-29 09:40:25

(4) Print the timestamp at this time last week strtotime( "-1 week")

Current time: echo date("Y-m-d H:i:s",time()) Result: 2009-01-22 09:40:25

Specify Time: echo date("Y-m-d H:i:s",strtotime("-1 week")) Result: 2009-01-15 09:40:25

(5) Print the specified day of the next week Timestamp strtotime(”next Thursday”)

Current time: echo date(”Y-m-d H:i:s”,time()) Result: 2009-01-22 09:40:25

Specify time: echo date("Y-m-d H:i:s",strtotime("next Thursday")) Result: 2009-01-29 00:00:00

(6) Print the specified last week The timestamp strtotime("last Thursday")

Current time: echo date("Y-m-d H:i:s",time()) Result: 2009-01-22 09:40:25

Specify time: echo date("Y-m-d H:i:s",strtotime("last Thursday")) Result: 2009-01-15 00:00:00

The above PHP timestamp function As can be seen from the example, strtotime can parse the date and time description of any English text into a Unix timestamp. We use mktime() or date() to format the date and time to obtain the specified timestamp to achieve the required date and time.

Example:

<?php
//时间戳转日期
$date_time_array = getdate(1297845628); //1311177600  1316865566
$hours = $date_time_array["hours"];
$minutes = $date_time_array["minutes"];
$seconds = $date_time_array["seconds"];
$month = $date_time_array["mon"];
$day = $date_time_array["mday"];
$year = $date_time_array["year"];
 
echo "year:$year\nmonth:$month\nday:$day\nhour:$hours\nminutes:$minutes\nseconds:$seconds\n";
 
//正常日期转时间戳
echo mktime(0, 0, 0, 9, 18, 2011) . "\n";
echo mktime(0, 0, 0, 9, 25, 2011) . "\n";
 
//可以对此进行格式化
echo "time()显示年月日时分秒:" . date("Y-m-d H:i:s", time()) . "\n";
//这样连时,分秒一起显示
echo "time()只显示年月日:" . date("Y-m-d ", time()) . "\n"; //只年示年月日
 
echo "时间戳格式化:" . date("Y-m-d H:i:s", 1297845628) . "\n"; //直接使用时间戳
//把正常日期转成时间戳了,这里如果有时分秒也是同理,
$year=((int)substr("2008-12-04",0,4));//取得年份
$month=((int)substr("2008-12-04",5,2));//取得月份
$day=((int)substr("2008-12-04",8,2));//取得几号
echo mktime(0,0,0,$month,$day,$year);
 
?>

Parts that need attention

f35d6e602fd7d0f0edfa6f7d103c1b57. There are two types of PHP time, one is the timestamp type (1228348800), Second, the normal date format (2008-12-4)

2cc198a1d5eb0d3eb508d858c9f5cbdb. The timestamp of PHP5.1 and above will differ from the actual time by 8 hours. The solution is as follows

1. The final The simple way is not to use php5.1 or above-obviously this is not an advisable method! ! !

2. Modify php.ini. Open php.ini and search for date.timezone. Remove the semicolon = in front and add Asia/Shanghai at the end. Just restart the apache server. The disadvantage is that if the program is placed on someone else's server, php.ini cannot be modified, so there is nothing you can do.

3. Add a time initialization statement in the program, that is: "date_default_timezone_set("Asia/Shanghai");" This can be set arbitrarily by the programmer, which I recommend.

Time zone identifier, available values ​​in mainland China are: PRC, Asia/Chongqing, Asia/Shanghai, Asia/Urumqi (in order China, Chongqing, Shanghai, Urumqi), Etc/GMT-8, Asia/ Harbin

Available in Hong Kong and Taiwan: Asia/Macao, Asia/Hong_Kong, Asia/Taipei (Macau, Hong Kong, Taipei in order)

And Singapore: Asia/Singapore

In this way, the output is Beijing time

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to convert timestamp to format in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn