PHP と MySQL を作成したことのあるプログラマは、UNIX タイムスタンプと書式設定された日付には時差があることをよく知っています。UNIX タイムスタンプは保存や処理には便利ですが、書式設定された日付は直感的ではありません。ただし、Unix のタイムスタンプほど処理が簡単ではないため、相互に変換する必要がある場合があります。相互変換するためのいくつかの変換方法を示します。
1. MySQL で完了
このメソッドは、MySQL クエリ文内で変換されるのが利点であり、欠点は、PHP パーサーの解析時間がかからないことです。データベースクエリでは使用できず、制限があります。
1. UNIX タイムスタンプを日付に変換する関数を使用します: FROM_UNIXTIME()
一般形式: FROM_UNIXTIME(1156219870) を使用します。
2. 日付を UNIX タイムスタンプに変換する関数を使用します: UNIX_TIMESTAMP()
一般形式: UNIX_TIMESTAMP(' 2006- 11-04 12:23:00');
例: その日のレコード数を mysql でクエリします:
$sql="select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),'%Y-%m- %d') = DATE_FORMAT(NOW(),'%Y-%m-%d') order by id desc”;
もちろん、PHP で変換することも選択できます。PHP での変換について話しましょう。
2. PHPで完了する
この方法はPHPプログラム内で変換を完了するので、データベースにクエリで取得したデータであっても変換できることと、変換範囲が限定されないことが利点です。欠点は、PHP パーサーのスペースを占有することです。解析時間が比較的遅いです。
1. UNIX タイムスタンプを日付に変換する関数を使用します: date()
一般形式: date('Y-m-d H:i:s', 1156219870);
2. 日付を UNIX タイムスタンプに変換する関数を使用します: strtotime()
一般形式: strtotime('2010-03-24 08:15:42');
php 日付からタイムスタンプ、指定された日付からタイムスタンプ
php 日付からタイムスタンプ、指定された日付からタイムスタンプ、PHP スケジュールされたタスク。
過去 2 日間で、次の機能を実装します。
特定の条件に達すると、サーバーがユーザーに複数のテキスト メッセージを送信します。
基本的な考え方: Linux は定期的にスキャンを行い、条件を満たすユーザーがいる場合はテキスト メッセージを送信します。
ただし、ユーザーに迷惑をかけないように、テキスト メッセージは日中 8:00 ~ 20:00 の間にのみ送信できるようにする必要があります。この時間帯を毎日取得するにはどうすればよいですか?
次のコード: