php1day
1. php語言 計算每個月有幾周及每周的起始時間 求程序實現的代碼
functionget_weekinfo($month){
$weekinfo=array();
$end_date=date('d',strtotime($month.'+1month-1day'));
for($i=1;$i<$end_date;$i=$i+7){
$w=date('N',strtotime($month.'-'.$i));
$weekinfo[]=array(date('Y-m-d',strtotime($month.'-'.$i.'-'.($w-1).'days')),date('Y-m-d',strtotime($month.'-'.$i.'+'.(7-$w).'days')));
}
return$weekinfo;
}
print_r(get_weekinfo('2013-11'));
//執行結果
Array
(
[0]=>Array
(
[0]=>2013-11-25
[1]=>2013-12-01
)
[1]=>Array
(
[0]=>2013-12-02
[1]=>2013-12-08
)
[2]=>Array
(
[0]=>2013-12-09
[1]=>2013-12-15
)
[3]=>Array
(
[0]=>2013-12-16
[1]=>2013-12-22
)
[4]=>Array
(
[0]=>2013-12-23
[1]=>2013-12-29
)
)
2. php獲取今天某個時間的時間戳的方法
大家也許對PHP時間戳已經有所了解,那麼我們如何應用它來獲取具體的日期呢?我們今天來為大家介紹一下PHP時間戳獲取當前時期的具體方式。
實現功能:獲取某個日期的時間戳,或獲取某個時間的PHP時間戳。
strtotime能將任何英文文本的日期時間描述解析為Unix時間戳,我們結合mktime()或date()格式化日期時間獲取指定的時間戳,實現所需要的日期時間。
strtotime 將任何英文文本的日期時間描述解析為Unix時間戳[將系統時間轉化成unix時間戳]
一,獲取指定日期的unix時間戳 strtotime(」2009-1-22″) 示例如下:
echo strtotime(」2009-1-22「) 結果:1232553600
說明:返回2009年1月22日0點0分0秒時間戳
二,獲取英文文本日期時間 示例如下:
便於比較,使用date將當時間戳與指定時間戳轉換成系統時間
(1)列印明天此時的時間戳strtotime(」+1 day「)
當前時間: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
(2)列印昨天此時的PHP時間戳strtotime(」-1 day「)
當前時間: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
(3)列印下個星期此時的時間戳strtotime(」+1 week「)
當前時間: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 week」)) 結果:2009-01-29 09:40:25
(4)列印上個星期此時的時間戳strtotime(」-1 week「)
當前時間: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 week」)) 結果:2009-01-15 09:40:25
(5)列印指定下星期幾的PHP時間戳strtotime(」next Thursday「)
當前時間: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 Thursday」)) 結果:2009-01-29 00:00:00
(6)列印指定上星期幾的時間戳strtotime(」last Thursday「)
當前時間: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 Thursday」)) 結果:2009-01-15 00:00:00
以上示例可知,strtotime能將任何英文文本的日期時間描述解析為Unix時間戳,我們結合mktime()或date()格式化日期時間獲取指定的PHP時間戳,實現所需要的日期時間。
3. php求當前季度的第一天和最後一天
<?php
//第一天
function GetInceDay()
{
$month = date("m");
if ($month >=1 && $month < 4)
{
return "1月1日";
}
else if ($month >= 4 && $month < 7)
{
return "4月1日";
}
else if ($month >= 7 && $month < 10)
{
return "7月1日";
}
else
{
return "10月1日";
}
return "";
}
//最後一天
function GetEndDay()
{
$month = date("m");
if ($month >= 1 && $month < 4)
{
return "3月31日";
}
else if ($month >= 4 && $month < 7)
{
return "6月30日";
}
else if ($month >= 7 && $month < 10)
{
return "9月30日";
}
else
{
return "12月31日";
}
return "";
}
?>
<?php echo "本季度第一天:".GetInceDay()."<br>";?>
<?php echo "本季度最後一天:".GetEndDay()."<br>";?>
4. 在php中如何獲得未來時間
php獲取昨天、今天、明天、上周、本月、一年後、十年後的開始時間戳和結束時間戳:
//php獲取昨天日期
date("Y-m-d",strtotime("-1day"))
//php獲取明天日期
date("Y-m-d",strtotime("+1day"))
//php獲取一周後日期
date("Y-m-d",strtotime("+1week"))
//php獲取一周零兩天四小時兩秒後時間
date("Y-m-dG:H:s",strtotime("+1week2days4hours2seconds"))
//php獲取下個星期四日期
date("Y-m-d",strtotime("nextThursday"))
//php獲取上個周一日期
date("Y-m-d",strtotime("lastMonday"))
//php獲取一個月前日期
date("Y-m-d",strtotime("lastmonth"))
//php獲取一個月後日期
date("Y-m-d",strtotime("+1month"))
//php獲取十年後日期
date("Y-m-d",strtotime("+10year"))
//php獲取今天起止時間戳
mktime(0,0,0,date('m'),date('d'),date('Y'));
mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
//php獲取昨天起止時間戳
mktime(0,0,0,date('m'),date('d')-1,date('Y'));
mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
//php獲取上周起止時間戳
mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
//php獲取本月起止時間戳
mktime(0,0,0,date('m'),1,date('Y'));
mktime(23,59,59,date('m'),date('t'),date('Y'));
5. PHP裡面date 表示今天.怎麼表示明天
php裡面的data函數表示今天,data函數加1就是明天的日期,示例代碼如下:
1.
<?php
echo"今天的日期:".date("Y-m-d")."<br>";
echo"明天的日期:".date("Y-m-d",strtotime("+1day"))."<br>";
?>
效果圖如下:
注意事項:代碼需要在php環境下運行。
6. php如何在原來的時間上加一天
<?php
echo "Today:",date('Y-m-d H:i:s'),"<br>";
echo "Tomorrow:",date('Y-m-d H:i:s',strtotime('+1 day'));
?>
上一行輸出當前時間,下一行輸出明天時間
這里+1 day
可以修改參數1為任何想需要的數 day也可以改成year(年),month(月),hour(小時),minute(分),second(秒)
如
date('Y-m-d H:i:s',strtotime("+1 day +1 hour +1 minute");
可以隨便自由組合,以達到任意輸出時間的目的
註:該方法之針對1970年以後試用,也就是時間戳的適用范圍。
7. PHP DATE 如何取得當月的第一天和最後一天
<?php
$first_day=date('Y-m-01');//第一天,肯定是1號了,這是送分的
$last_day=date('Y-m-t');//最後一天,t表示每月有多少天,也相當於送分的……
echo"第一天:{$first_day}最後一天:{$last_day}";
8. php 計算時間差 求某個時間是幾分鍾之前、幾小時之前、幾天之前
php計算時間的應用主要有如下幾個:
echo "<br>***************用PHP列印出前一天的時間***************<br>";
echo date("Y-m-d ",strtotime(" -1 day"));//昨天
echo '<br>';
echo date("Y-m-d ",strtotime(" +1 day")); //明天
echo "<br>********************輸出當前時間*********************<br>";
echo date("Y年m月d日 l H:i:s A"); //2011年08月29日 Monday 04:52:25 AM
echo '<br>';
echo date("y-n-j D h:i:s a"); //11-8-29 Mon 04:52:25 am
echo '<br>';
echo date("Y年n月j日 l G:i:s a",strtotime("now"));//2011年8月29日 Monday 7:56:05 am
echo "<br>*****************兩個日期之間的天數******************<br>";
$str1=strtotime("2007-02-08");
$str2=strtotime("now");
print_r (floor(($str2-$str1)/(3600*24)));
echo "<br>**********************倒計時*************************<br>";
$time1=strtotime("2012-7-18 17:30:00");
$time2=strtotime("now");
$sec=$time1-$time2;
$year=floor($sec/3600/24/365);//年
$temp=$sec-$year*365*24*3600;
$month=floor($temp/3600/24/30);//月
$temp=$temp-$month*30*24*3600;
$day=floor($temp/3600/24);//日
$temp=$temp-$day*3600*24;
$hour=floor($temp/3600);//小時
$temp=$temp-$hour*3600;
$minute=floor($temp/60);//分
$second=$temp-$minute*60;//秒
echo "距離培訓畢業還有".$year."年".$month."月".$day."天".$hour."小時".$minute."分".$second."秒";