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...