Programmers who have written PHP+MySQL all know that there is a time difference. UNIX timestamps and formatted dates are two time representations that we often deal with. Unix timestamps are convenient to store and process, but not intuitive. Formatted dates are intuitive, but It is not as easy to process as Unix timestamps, so sometimes it is necessary to convert each other. Here are several conversion methods for each other.
1. Complete in MySQL
This method is converted in the MySQL query statement. The advantage is that it does not take up the parsing time of the PHP parser and is fast. The disadvantage is that it can only be used in database queries and has limitations.
1. Use the function to convert UNIX timestamp to date: FROM_UNIXTIME()
General form: select FROM_UNIXTIME(1156219870);
2. Use the function to convert date to UNIX timestamp: UNIX_TIMESTAMP()
General form: Select UNIX_TIMESTAMP('2006- 11-04 12:23:00′);
Example: mysql query the number of records on the day:
$sql="select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') order by id desc”;
Of course, you can also choose to convert in PHP. Let’s talk about conversion in PHP.
2. Complete it in PHP
This method completes the conversion in the PHP program. The advantage is that it can be converted regardless of whether the data is obtained by querying in the database, and the conversion range is not limited. The disadvantage is that it takes up the parsing time of the PHP parser. , the speed is relatively slow.
1. Use the function to convert UNIX timestamp to date: date()
General form: date('Y-m-d H:i:s', 1156219870);
2. Use the function to convert date to UNIX timestamp: strtotime()
General Format: strtotime('2010-03-24 08:15:42');
php date to timestamp, specified date to timestamp
php date to timestamp, specified date to timestamp, PHP scheduled task .
In the past two days, we will implement this function:
When a certain condition is reached, let the server send multiple text messages to the user.
Basic idea: Linux scans regularly, and if there are users who meet the conditions, send text messages.
But in order to prevent disturbing users, it is required that text messages can only be sent between 8:00-20:00 during the day. How to get this time range every day?
The following code:
<? $y=date("Y",time()); $m=date("m",time()); $d=date("d",time()); $start_time = mktime(9, 0, 0, $m, $d ,$y); $end_time = mktime(19, 0, 0, $m, $d ,$y); $time = time(); if($time >= $start_time && $time <= $end_time) { // do something.... } ?>