この記事の内容は、PHPでの時間を取得するための実装方法に関するもので、必要な友人はそれを参照することができます
最近開発中に発生した時間をコンパイルして、みんなに共有しました。必要に応じて見て、使用できます。
1. 先月の最初と最後の日を取得します
echo date('Y-m-01', strtotime('-1 month')); echo "<br/>"; echo date('Y-m-t', strtotime('-1 month')); echo "<br/>";
上記の方法にはいくつか問題がありますので、次のように修正してください:
先月の最初の日:
echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 month')); // 计算出本月第一天再减一个月
最後の日。先月の:
echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 day')); // 计算出本月第一天再减一天
2. 月の最初の日と最後の日を取得します。
$BeginDate=date('Y-m-01', strtotime(date("Y-m-d"))); echo $BeginDate; echo "<br/>"; echo date('Y-m-d', strtotime("$BeginDate +1 month -1 day")); echo "<br/>";
3. 現在の日の年、月、日、日数を取得します。
echo " 本月共有:".date("t")."天"; echo " 当前年份".date('Y'); echo " 当前月份".date('m'); echo " 当前几号".date('d'); echo "<br/>";
4. 関数と配列を使用して月の最初の日を取得し、最後の日の方が実用的です
function getthemonth($date){ $firstday = date('Y-m-01', strtotime($date)); $lastday = date('Y-m-d', strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); } $today = date("Y-m-d"); $day=getthemonth($today); echo "当月的第一天: ".$day[0]." 当月的最后一天: ".$day[1]; echo "<br/>";
今月の日付を取得します:
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
がこのように 2018-2 の場合、その月の $firstday
は 2018-02-01
になり、追加します$firstday
に基づいて 1 か月を計算すると 2018-03-01
が得られ、そこから 1 日を引くと 2018-02-28
になります。 date()
と strtotime()
を使用します。 $firstday
是月份的第一天,假如$date
是2018-2这样的话,$firstday
就会是2018-02-01
,然后根据$firstday
加一个月就是2018-03-01
,再减一天就是2018-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
就OK
了,超智能的date()
会把2018-0-1
这种东西转换成2017-12-01
,太爽了。
获取下月日期:
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()
转不了类似2018-13-01
这种东西,它会直接回到1970
,所以前面需要处理一下12
月的问题,除了12
月就直接月份+1
就OK
啦。
总得来说,日期函数太强大了。
这几天在开发的时候遇到的一些时间上的问题,整理了一下,分享给大家,可以看看,有需要的话可以利用一下。
1.获取上个月第一天及最后一天.
echo date('Y-m-01', strtotime('-1 month')); echo "<br/>"; echo date('Y-m-t', strtotime('-1 month')); echo "<br/>";
上面的方法有些问题,做下修改:
上个月第一天:
echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 month'));// 计算出本月第一天再减一个月
上个月最后一天:
echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 day')); // 计算出本月第一天再减一天
2.获取当月第一天及最后一天.
$BeginDate=date('Y-m-01', strtotime(date("Y-m-d"))); echo $BeginDate; echo "<br/>"; echo date('Y-m-d', strtotime("$BeginDate +1 month -1 day")); echo "<br/>";
3.获取当天年份、月份、日及天数.
echo " 本月共有:".date("t")."天"; echo " 当前年份".date('Y'); echo " 当前月份".date('m'); echo " 当前几号".date('d'); echo "<br/>";
4.使用函数及数组来获取当月第一天及最后一天,比较实用
function getthemonth($date){ $firstday = date('Y-m-01', strtotime($date)); $lastday = date('Y-m-d', strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); } $today = date("Y-m-d"); $day=getthemonth($today); echo "当月的第一天: ".$day[0]." 当月的最后一天: ".$day[1]; echo "<br/>";
获取本月日期:
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
是2018-2这样的话,$firstday
就会是2018-02-01
,然后根据$firstday
加一个月就是2018-03-01
,再减一天就是2018-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
就OK
了,超智能的date()
会把2018-0-1
这种东西转换成2017-12-01
,太爽了。
获取下月日期:
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()
转不了类似2018-13-01
这种东西,它会直接回到1970
,所以前面需要处理一下12
月的问题,除了12
月就直接月份+1
就OK
前月の日付を取得します:
rrreee
前月の日付は最初にタイムスタンプを取得する必要があり、その後、月-1
で OK
を取得する必要があります。非常にスマートなdate() は、2018-0-1
のようなものを 2017-12-01
に変換します。これはとてもクールです。
rrreee
date()
は 2018-13-01
のようなものを変換できないため、来月の日付のコードは少し長く見えます。何かを植えると、すぐに 1970
に戻るため、12
を除いて、12
か月前の問題に対処する必要があります。月の場合は、月 +1
のみが OK
です。
$firstday
は、このように $date
が 2018-2 の場合、月 $firstday
は 2018-02-01
になり、さらに 1 か月が追加されます$firstday
に基づいて 2018-03-01
を取得し、1 日を引くと 2018-02-28
になります。 date() と strtotime()
です。 🎜🎜🎜先月の日付を取得します: 🎜🎜rrreee🎜 先月の日付は最初にタイムスタンプを取得する必要があり、次に月 -1
の OK
を取得する必要があります。 Smartdate() は、2018-0-1
のようなものを 2017-12-01
に変換します。これは非常に優れています。 🎜🎜 🎜来月の日付を取得します: 🎜🎜rrreee🎜 date()
は 2018-13-01
のようなものを変換できないため、来月の日付のコードは少し長く見えます。何かを植えると、すぐに 1970
に戻るため、12
を除いて、12
か月前の問題に対処する必要があります。月の場合は、月 +1
だけで OK
になります。 🎜🎜 総じて日付機能が強力すぎる。 🎜🎜関連する推奨事項: 🎜🎜🎜PHP を使用して、訪問者の IP、地域の位置、ブラウザーおよびソース ページの情報を取得します🎜🎜🎜🎜🎜以上がphp はメソッドの練習を実装するために少し時間がかかりますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。