PHPにはstrtotimeという関数があります。 strtotime 実装関数: 特定の日付の timestamp を取得する、または特定の時刻のタイムスタンプを取得します。 strtotime は、英語のテキストの日付と時刻の記述を Unix タイムスタンプに解析します
今日プログラムを書いているとき、月の日数を取得するために昔書いた、古典的な switch 関数を突然発見しました。 バージョンですが、前月の日数を取得したときに月を-1しただけで、その時はあまりにも眠かったため、最初に見たかったものをもう一度見ると不気味な気分になりました。もう一度対処する必要がありますが、何か超便利な方法があるはずだと思い、いくつかのマイナーな変更を加えた次のバージョンを見つけました。
今月の日付を取得します:
function getMonth($date){ $firstday = date("Y-m-01",strtotime($date)); $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); }
$firstday が月の最初の日です。$date が 2014-2 の場合、$firstday は 2014-02-01 になり、$firstday に 1 か月を加算します。 2014-03-01 から 1 日引くと 2014-02-28 になります。 date() と strtotime() を使用すると便利です。
前月の日付を取得する:
function getlastMonthDays($date){ $timestamp=strtotime($date); $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01')); $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); }
前月の日付を取得するには、まずタイムスタンプを取得してから、月に -1 を追加する必要があります。超スマートな date() は、2014 などを変換します。 -2013 年 12 月 1 日まで 0 勝 1 敗、とてもクールです。
来月の日付の取得:
function getNextMonthDays($date){ $timestamp=strtotime($date); $arr=getdate($timestamp); if($arr['mon'] == 12){ $year=$arr['year'] +1; $month=$arr['mon'] -11; $firstday=$year.'-0'.$month.'-01'; $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); }else{ $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01')); $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); } return array($firstday,$lastday); }
来月の日付のコードは少し長く見えます。date() は 2014-13-01 のようなものを変換できないため、直接 1970 年に戻るため、対処する必要があります前は12です。12月を除く月号の場合は、月+1でOKです。
全体的にとても便利です、日付機能が強力すぎます。
最後にstrtotimeの使い方を簡単に紹介します
指定した日付のUNIXタイムスタンプを取得します
strtotime("2009-1-22") 例は以下の通りです:
echo strtotime("2009-1 -22")
結果:1232553600
説明:2009年1月22日0:00:0のタイムスタンプを返します
英語テキストの日付と時刻を取得します
例は次のとおりです。比較、date を使用して現在のタイムスタンプと指定されたタイムスタンプを比較します システム時間に変換します
現在時刻:
echo date("Y-m-d H: i:s", time())
結果: 2009 -01-22 09:40:25
指定時刻:
echo date("Y-m-d H:i:s",strtotime("+1 day"))
結果: 2009-01-23 09:40:25
現在時刻:
echo date("Y-m-d H:i:s", time())
結果: 2009-01-22 09:40:25
指定時刻:
echo date("Y-m-d H:i:s",strtotime("-1 day"))
結果: 2009-01- 21 09:40:25
現在時刻:
echo date("Y-m-d H:i:s",time())
結果: 2009-01- 22 09:40:25
指定時刻:
echo date("Y-m-d H:i:s", strtotime("+1week"))
結果: 2009-01-29 09:40:25
現在時刻:
echo date("Y-m-d H:i:s",time())
結果: 2009-01-22 09:40:25
指定時刻:
echo date("Y-m-d H:i:s",strtotime("-1week"))
結果: 2009-01-15 09:40:25
現在時刻:
echo date("Y-m-d H:i:s",time())
結果: 2009-01-22 09:40:25
指定時刻:
echo date("Y-m-d H :i:s",strtotime("next Wednesday"))
Result: 2009-01-29 00:00:00
現在時刻:
Echo date("Y-m-d H:i:s",time())
結果: 2009-01-22 09:40:25
指定時刻:
Echo date( "Y-m-d H:i:s",strtotime ("last Wednesday"))
結果: 2009-01-15 00:00:00
mktime() と組み合わせます。または、date() で日付と時刻をフォーマットし、必要な日付と時刻を取得するために指定されたタイムスタンプを取得します。
以上がPHP は strtotime を使用して先月、来月、今月の日付コード例を取得します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。