Programmers who have written PHP + MySQL know that there is a time difference. UNIX timestamps and formatting dates are two forms of time representation that we often deal with. The Unix timestamps are easy to store and process, but not intuitive, the date format is intuitive, but it is not as easy to process as the Unix timestamp, so sometimes it needs to be converted to each other. Below are several conversion methods for mutual conversion.
I. Completed in MySQL
This method is converted into a 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. UNIX timestamp conversion to date function: FROM_UNIXTIME ()
General Format: select FROM_UNIXTIME (1156219870 );
2. convert a date to a UNIX timestamp using the function: UNIX_TIMESTAMP ()
General Format: Select UNIX_TIMESTAMP ('2017-11-04 12:23:00 ′);
Example: mysql queries the number of records on the current 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. The following describes the conversion in PHP.
2. Complete in PHP
This method completes the conversion in the PHP program. The advantage is that no matter whether the data obtained by queries in the database can be converted, the conversion range is unrestricted, and the disadvantage is that it takes up the parsing time of the PHP parser, relatively slow.
1. Convert UNIX timestamp to date using the function: date ()
General Format: date ('Y-m-d H: I: s', 1156219870 );
2. convert a date to a UNIX timestamp using the function strtotime ()
General Format: strtotime ('2017-03-24 08:15:42 ');
Php date to timestamp, specifying date to Timestamp
Php date to timestamp, specified date to timestamp, PHP scheduled task.
In the past two days, we need to implement the following functions:
When a certain condition is reached, the server sends a text message to the user. The number of messages is multiple.
Basic Idea: scheduled linux scanning. If a user meets the requirements, the user will send a text message.
However, to prevent disturbing users, you must send text messages between-during the day. How can you get the daily time range?
The following code:
Copy codeThe Code is as follows:
<?
$ 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 ....
}
?>