php獲取周幾
『壹』 php獲取當前日期及本周一是幾月幾號的方法
<?php header("content-type:text/html;charset=utf-8"); date_default_timezone_set('PRC'); function getWeek($unixTime=''){ $unixTime=is_numeric($unixTime)?$unixTime:time(); $weekarray=array('日','一','二','三','四','五','六','七'); return "星期".$weekarray[date('w',$unixTime)]; } $var=getWeek(); switch($var){ case '星期天': $var=time(); $var2=$var-(84600*6); echo "今天是".date("Y-m-d",$var)."號<br/>這個星期一是".date("Y-m-d",$var2)."號"; break; case '星期一': $var=time(); $var2=$var; echo "今天是".date("Y-m-d",$var)."號<br/>這個星期一是".date("Y-m-d",$var2)."號"; break; case '星期二': $var=time(); $var2=$var-84600; echo "今天是".date("Y-m-d",$var)."號<br/>這個星期一是".date("Y-m-d",$var2)."號"; break; case '星期三': $var=time(); $var2=$var-(84600*2); echo "今天是".date("Y-m-d",$var)."號<br/>這個星期一是".date("Y-m-d",$var2)."號"; break; case '星期四': $var=time(); $var2=$var-(84600*3); echo "今天是".date("Y-m-d",$var)."號<br/>這個星期一是".date("Y-m-d",$var2)."號"; break; case '星期五': $var=time(); $var2=$var-(84600*4); echo "今天是".date("Y-m-d",$var)."號<br/>這個星期一是".date("Y-m-d",$var2)."號"; break; case '星期六': $var=time(); $var2=$var-(84600*5); echo "今天是".date("Y-m-d",$var)."號<br/>這個星期一是".date("Y-m-d",$var2)."號"; break; }?>
『貳』 PHP 計算某日是這一年的第幾周
在判斷某一天是哪一年的第幾周的時候,根據採用的國際標准(忘了叫什麼名字了),年首或者年末的那幾天有可能不屬於今年的第一周或者最後一周。
代碼如下:
<?php
echo date("oW",strtotime("20141229"))." ";
echo date("oW",strtotime('20160101'))." ";
?>
(2)php獲取周幾擴展閱讀
php計算時間段的天數:
$firstday = date("Y-m-d H:i:s",time());//當前日期
$timestamp=strtotime($firstday);//當前日期時間戳
$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"));//上個月結束的日期
$stimestamp = strtotime($firstday);
$etimestamp = strtotime($lastday);// 計算日期段內有多少天
$days = ($etimestamp-$stimestamp)/86400+1;// 保存每天日期
$date = array();
for($i=0; $i<$days; $i++){
$date[] = date('Y-m-d', $stimestamp+(86400*$i));
}
『叄』 php日歷模塊的運算邏輯求解!如何求日期對應的星期幾!
現在以2010年6月14日為例說明。6月份共有30天,在這個日歷表中共5行,首先需要確定當前所在的日期(當然也可以指定一個日期),比如14日,通過表格可以知道它在第3行對應星期一那列(第3周)。通常每個月第1天不是在表格開始的位置,位置並不固定,同樣不固定的還有每個月的周數,有時候是4周,有時候是5周。這樣,想要完成這個日歷表格就需要確定一些基礎的日期變數,下面具體來看需要設定的基礎變數。
PHP提供了date()函數,該函數提供了豐富的日期處理功能。現在需要獲得的數據有兩個,第一個是當月的總天數;第二個是該月的第一天所在星期中的第幾天,數字表示0(表示星期天)到6(表示星期六)。通過date()函數可以很容易獲得上面的數據。
<?php
//date()函數的基本用法
$year = date('Y'); //獲得年份,例如2006
$month = date('n'); //獲得月份,例如04
$day = date('j'); //獲得日期,例如3
?>
通過mktime()函數和date()函數獲得當月的總天數。
//獲得當月的總天數
$daysInMonth = date("t",mktime(0,0,0,$month,1,$year));
同樣是組合使用mktime()函數和date()函數,獲得該月的第一天所在星期中的第幾天,數字表示0(表示星期天)到6(表示星期六)。
//獲得每個月的第一天,例如4
$firstDay = date("w", mktime(0,0,0,$month,1,$year));
現在重新來觀察下這個日歷表格,我們發現,表格中的值是從1到x(當月的總天數)。我們可以形象地通過一個坐標來表示每一個位置(x,y),表格的起始位置是(0,0),結束位置是(5,4),當月第一天的起始位置是(0,3)。現在來創建一個二維數組來存儲對應的日期。
(1)需要獲得表格的數目。
//計算數組中的日歷表格數
$tempDays = $firstDay + $daysInMonth;
(2)需要算出該月一共有幾周(即表格的行數)。
//獲得表格行數
$weeksInMonth = ceil($tempDays/7);
(3)在獲得行數的變數之後,創建一個二維數組用來存放日期信息,代碼如下:
<?php
for($j=0;$j<$weeksInMonth;$j++)
{
for($i=0;$i<7
;$i++)
{
$counter ++;
$week [$j] [$i] = $counter;
}
}
?>
(4)細心的讀者可能發現,上面的代碼其實是一個雛型,因為它處理出來的數據並沒有過濾那些空白的表格單元。下面來繼續改造下這段代碼,加入過濾和構造的部分。改造後的代碼如下:
<?php
//創建日期二維數組
for($j = 0; $j < $weeksInMonth; $j ++) {
for($i = 0; $i < 7; $i ++) {
$counter ++;
$week [$j] [$i] = $counter;
//日期偏移量
$week [$j] [$i] -= $firstDay;
if (($week [$j] [$i] < 1) || ($week [$j] [$i] > $daysInMonth)) {
$week [$j] [$i] = "";
}
}
}
?>
(5)在獲得正確的二維數組之後,就可以通過foreach()函數將存儲的日期信息遍歷出來,同時插入HTML標簽創建日期
不知是否正確,轉自我的一個朋友
『肆』 PHP怎樣獲得最近一個周一和上周一的日期
本周周一的日期:
$ts=time();
$this_monday=this_monday($ts);
echodate('Y-m-dH:i:s',$this_monday);
//這個星期的星期一
//@$timestamp,某個星期的某一個時間戳,默認為當前時間
//@is_return_timestamp,是否返回時間戳,否則返回時間格式
functionthis_monday($timestamp=0,$is_return_timestamp=true){
static$cache;
$id=$timestamp.$is_return_timestamp;
if(!isset($cache[$id])){
if(!$timestamp)$timestamp=time();
$monday_date=date('Y-m-d',$timestamp-86400*date('w',$timestamp)+(date('w',$timestamp)>0?86400:-/*6*86400*/518400));
if($is_return_timestamp){
$cache[$id]=strtotime($monday_date);
}else{
$cache[$id]=$monday_date;
}
}
return$cache[$id];
}
上周一的函數則為
$ts=time();
$last_monday=last_monday($ts);
echodate('Y-m-dH:i:s',$last_monday);
//上周一
//@$timestamp,某個星期的某一個時間戳,默認為當前時間
//@is_return_timestamp,是否返回時間戳,否則返回時間格式
functionlast_monday($timestamp=0,$is_return_timestamp=true){
static$cache;
$id=$timestamp.$is_return_timestamp;
if(!isset($cache[$id])){
if(!$timestamp)$timestamp=time();
$thismonday=this_monday($timestamp)-/*7*86400*/604800;
if($is_return_timestamp){
$cache[$id]=$thismonday;
}else{
$cache[$id]=date('Y-m-d',$thismonday);
}
}
return$cache[$id];
}
『伍』 怎麼用php來獲取時間 周次 節次來做簽到功能
簽到功能主要是需要獲取上次簽到時間,然後進行比對,如果比較之後在零點之後,且大於24小時,就認為連續簽到失敗。
關鍵點:每次需要記錄簽到時間,這樣以後無論是根據記錄,還是相應演算法都可以統計相關的簽到記錄。
簽到功能核心就是時間的比較,只要比對好時間,然後封裝簽到方法,就可以輕松記錄簽到情況。
『陸』 php如何計算某一天是周幾
需要准備的材料分別是:電腦、php編輯器、瀏覽器。
1、首先,打開php編輯器,新建php文件,例如:index.php。
『柒』 PHP獲取當前日期和星期
<?php
date_default_timezone_set("Asia/ShangHai");
$date=date('Y年m月d日');//獲取時間
echo "$date ";
$weekarray=array("日","一","二","三","四","五","六");
echo "星期".$weekarray[date("w")];//獲取星期
?>
『捌』 php輸出星期幾
date('中間加下面的內容');
d 月份中的第幾天,有前導零的 2 位數字 01 到 31
D 星期中的第幾天,文本表示,3 個字母 Mon 到 Sun
j 月份中的第幾天,沒有前導零 1 到 31
l(「L」的小寫字母) 星期幾,完整的文本格式 Sunday 到 Saturday
N ISO-8601 格式數字表示的星期中的第幾天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)
S 每月天數後面的英文後綴,2 個字元 st,nd,rd 或者 th。可以和 j 一起用
w 星期中的第幾天,數字表示 0(表示星期天)到 6(表示星期六)
z 年份中的第幾天 0 到 365
星期 --- ---
W ISO-8601 格式年份中的第幾周,每周從星期一開始(PHP 4.1.0 新加的) 例如:42(當年的第 42 周)
月 --- ---
F 月份,完整的文本格式,例如 January 或者 March January 到 December
m 數字表示的月份,有前導零 01 到 12
M 三個字母縮寫表示的月份 Jan 到 Dec
n 數字表示的月份,沒有前導零 1 到 12
t 給定月份所應有的天數 28 到 31
年 --- ---
L 是否為閏年 如果是閏年為 1,否則為 0
o ISO-8601 格式年份數字。這和 Y 的值相同,只除了如果 ISO 的星期數(W)屬於前一年或下一年,則用那一年。(PHP 5.1.0 新加) Examples: 1999 or 2003
Y 4 位數字完整表示的年份 例如:1999 或 2003
y 2 位數字表示的年份 例如:99 或 03
時間 --- ---
a 小寫的上午和下午值 am 或 pm
A 大寫的上午和下午值 AM 或 PM
B Swatch Internet 標准時 000 到 999
g 小時,12 小時格式,沒有前導零 1 到 12
G 小時,24 小時格式,沒有前導零 0 到 23
h 小時,12 小時格式,有前導零 01 到 12
H 小時,24 小時格式,有前導零 00 到 23
i 有前導零的分鍾數 00 到 59>
s 秒數,有前導零 00 到 59>
時區 --- ---
e 時區標識(PHP 5.1.0 新加) 例如:UTC,GMT,Atlantic/Azores
I 是否為夏令時 如果是夏令時為 1,否則為 0
O 與格林威治時間相差的小時數 例如:+0200
P 與格林威治時間(GMT)的差別,小時和分鍾之間有冒號分隔(PHP 5.1.3 新加) 例如:+02:00
T 本機所在的時區 例如:EST,MDT(【譯者注】在 Windows 下為完整文本格式,例如「Eastern Standard Time」,中文版會顯示「中國標准時間」)。
Z 時差偏移量的秒數。UTC 西邊的時區偏移量總是負的,UTC 東邊的時區偏移量總是正的。 -43200 到 43200
完整的日期/時間 --- ---
c ISO 8601 格式的日期(PHP 5 新加) 2004-02-12T15:19:21+00:00
r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200
U 從 Unix 紀元(January 1 1970 00:00:00 GMT)開始至今的秒數
『玖』 php獲取本周開始日期和結束日期的方法
本文實例講述了php獲取本周開始日期和結束日期的方法。分享給大家供大家參考。具體如下:
復制代碼
代碼如下://當前日期
$sdefaultDate
=
date("Y-m-d");
//$first
=1
表示每周星期一為開始日期
0表示每周日為開始日期
$first=1;
//獲取當前周的第幾天
周日是
0
周一到周六是
1
-
6
$w=date('w',strtotime($sdefaultDate));
//獲取本周開始日期,如果$w是0,則表示周日,減去
6
天
$week_start=date('Y-m-d',strtotime("$sdefaultDate
-".($w
?
$w
-
$first
:
6).'
days'));
//本周結束日期
$week_end=date('Y-m-d',strtotime("$week_start
+6
days"));
希望本文所述對大家的php程序設計有所幫助。