關於獲取上一月的第一天及最後一天

2021-08-03 12:58:41 字數 3340 閱讀 9051

php除錯的時候出現了警告:

it is not safe to rely on the system解決方法,其實就是時區設定不正確造成的,本文提供了3種方法來解決這個問題。

實際上,從php 5.1.0開始當對使用date()等函式時,如果timezone設定不正確,在每一次呼叫時間函式時,都會產生e_notice 或者 e_warning 資訊,而又在php中,date.timezone這個選項,預設情況下是關閉的,無論用什麼php命令都是格林威治標準時間,但是php5.3中如果沒有設定部分時間類函式也會強行丟擲了這個錯誤的。

ps:現在由於大部分人使用vps/雲主機,需要自己配置的環境的就更加會容易出現這個情況。

建議:不熟悉php環境還是用比較成熟的一鍵安裝包吧。

方法1:

(最好的方法)在php.ini裡加上找到date.timezone項,設定date.timezone = 「asia/shanghai」,重啟環境就ok了。

方法2:

在需要用到這些時間函式的時候,在頁面新增date_default_timezone_set(「prc」);

方法3:

在頁頭加上設定時區ini_set(『date.timezone』,』asia/shanghai』);

使用函式及陣列來獲取當月第一天及最後一天,比較實用

function

getthemonth

($date)

$today = date("y-m-d");

$day=getthemonth($today);

echo

"當月的第一天: ".$day[0]." 當月的最後一天: ".$day[1];

echo

"";

獲取本月第一天和最後一天的兩種方法

$begindate=date('y-m-01', strtotime(date("y-m-d")));

echo "本月的第一天為".date('y-m-01',strtotime(date("y-m-d")))."

"; //獲取本月第一天

echo date('y-m-d',mktime(0,0,0,date('m'),1,date('y'))).'

'; echo "本月的最後一天為".date('y-m-d', strtotime("$begindate +1 month -1 day"))."

"; //獲取本月最後一天

echo date('y-m-d',mktime(0,0,0,date('m')+1,0,date('y')))."

";

獲取上月第一天和最後一天的兩種方法

echo "上乙個月的第一天".date('y-m-01', strtotime('-1 month'))."

"; //獲取上乙個月的的第一天

echo date('y-m-d',mktime(0,0,0,date('m')-1,1,date('y'))).'

'; echo "上乙個月的最後一天".date('y-m-t', strtotime('-1 month'))."

"; //獲取上乙個月的最後一天

echo date('y-m-d',mktime(0,0,0,date('m'),0,date('y')))."

";

<?php 

// $number = 123;

// $txt = sprintf("%f",$number);

// echo

$txt;

header('content-type:text/html;charset=utf-8');

date_default_timezone_set('asia/shanghai'); //設定時區

//echo

"date(y-m-d)輸出為".date("y-m-d")."

"; //echo

"date(y-m-d h:i:s),time()輸出為".date('y-m-d h:i:s',time())."

"; //echo date('l')."

"; //tuesday

$year = date('y'); //17

$month = sprintf('%02d',date('m') - 1); //05

//echo strtotime("17-05-1")."

"; //1493568000

$begindate=date('y-m-01', strtotime(date("y-m-d")));

echo

"本月的第一天為".date('y-m-01',strtotime(date("y-m-d")))."

"; //獲取本月第一天

echo date('y-m-d',mktime(0,0,0,date('m'),1,date('y'))).'

'; echo

"本月的最後一天為".date('y-m-d', strtotime("$begindate +1 month -1 day"))."

"; //獲取本月最後一天

echo date('y-m-d',mktime(0,0,0,date('m')+1,0,date('y')))."

"; echo

"上乙個月的第一天".date('y-m-01', strtotime('-1 month'))."

"; //獲取上乙個月的的第一天

echo date('y-m-d',mktime(0,0,0,date('m')-1,1,date('y'))).'

'; echo

"上乙個月的最後一天".date('y-m-t', strtotime('-1 month'))."

"; //獲取上乙個月的最後一天

echo date('y-m-d',mktime(0,0,0,date('m'),0,date('y')))."

"; // echo date('y-m-d', strtotime("17-05-1"))."

"; // echo date('y-m-d', strtotime("--1"))."

"; // echo strtotime("--1 +1 month -1 day")."

"; // echo date('y-m-d',strtotime("--1 +1 month -1 day"))."

"; ?>

JAVA獲取月第一天 最後一天

dateformat format new dateformat yyyy mm dd 獲取前乙個月的第一天 calendar cal 1 calendar.getinstance 獲取當前日期 cal 1.add calendar.month,1 cal 1.set calendar.day of...

C 獲取周的第一天 最後一天 月第一天和最後一天

獲取指定日期所在周的最後一天,星期天為最後一天 public static datetime getdatetimeweeklastdaysun datetime datetime catch return lastweekday 獲取指定日期的月份第一天 public static datetim...

SQL獲取第一天最後一天

declare dtdatetime set dt getdate declare number int set number 3 1 指定日期該年的第一天或最後一天 a.年的第一天 selectconvert char 5 dt,120 1 1 b.年的最後一天 selectconvert cha...