Home  >  Article  >  Backend Development  >  Learn how to convert timestamp and date formats in PHP

Learn how to convert timestamp and date formats in PHP

WBOY
WBOYOriginal
2016-07-25 09:05:27997browse
  1. /*-------------------------------- -----------------------
  2. *
  3. * Copyright (c) 2011 Baidu.com, Inc. All Rights Reserved
  4. * $Id$
  5. *
  6. * -------------------------------------------------- -----*/
  7. //Convert timestamp to date
  8. $date_time_array = getdate(1297845628); //1311177600 1316865566
  9. $hours = $date_time_array["hours"];
  10. $minutes = $date_time_array["minutes"] ;
  11. $seconds = $date_time_array["seconds"];
  12. $month = $date_time_array["mon"];
  13. $day = $date_time_array["mday"];
  14. $year = $date_time_array["year"];
  15. echo "year:$yearnmonth:$monthnday:$daynhour:$hoursnminutes:$minutesnseconds:$secondsn";
  16. //Convert normal date to timestamp
  17. echo mktime(0, 0, 0, 9, 18, 2011) . "n";
  18. echo mktime(0, 0, 0, 9, 25, 2011) . "n";
  19. /*
  20. time();
  21. is to get the current time, but it is an integer type
  22. */
  23. //This can be formatted
  24. echo "time() displays the year, month, day, hour, minute and second:" . date("Y-m-d H:i:s", time()) . "n";
  25. //Concatenate the time in this way , minutes and seconds are displayed together
  26. echo "time() only displays the year, month and day:" . date("Y-m-d ", time()) . "n"; //Only the year, month and day are displayed
  27. echo "Time stamp formatting: " . date("Y-m-d H:i:s", 1297845628) . "n"; //Use the timestamp directly

  28. //Convert the normal date into a timestamp. If there is any problem here The same goes for minutes and seconds,

  29. $year=((int)substr("2008-12-04",0,4)); //Get the year
  30. $month=((int)substr("2008-12-04" ",5,2));//Get the month
  31. $day=((int)substr("2008-12-04",8,2));//Get the day
  32. echo mktime(0,0,0 ,$month,$day,$year);

  33. /* vim: set ts=4 sw=4 sts=4 tw=100 noet: */

  34. ?>
Copy code

Note: 1) There are two types of PHP time, one is the timestamp type (1228348800), the other is the normal date format (2008-12-4)

2). The timestamp of PHP5.1 and above will differ from the actual time by 8 hours. The solution is as follows: 1. The simplest 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.



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