當前位置:首頁 » 編程語言 » php日期處理

php日期處理

發布時間: 2022-09-27 09:10:16

php 日期提交後怎麼判斷這個日期格式是否正確

1、首先PHP中可以獲取當前時間戳,利用time()函數,並且不需要參數,直接返回當前日期時間,如下圖所示。

Ⅱ php中怎麼格式化日期

date(format,time)函數有2個參數用來格式化日期的輸出,第一個format是你希望的格式像Y/m/d就是月日年,像h:i:s就是小時:分鍾:秒,開頭字母的大小寫代表不同的時間制度,有12小時有24小時。
第二個參數time就是需要進行格式化的時間,默認是現在的當前時間,也可能是你保存在資料庫中的過去的時間或者將來的時間。更加具體的說明參見網路文庫的date函數很詳細。strtotime()函數是把文本的時間轉變為時間戳。
怎麼用呢?剛剛說的date()函數的第二個參數就是一個時間戳,也就是說你要輸出的保存在資料庫中的時間也許是一個文本字元串,需要用strtotime()函數轉變為時間戳後送給date()函數進行格式化輸出。
標准實例為:date("D jS F Y g.iA",strtotime($dateposted))。$dateposted是我保存在資料庫中的一個文本時間。如此形式就可以完美輸出了。

Ⅲ php怎麼將指定日期轉換為時間戳

date('Y-m-d H:i:s', 1156219870);

1、 UNIX時間戳轉換為日期用函數: date()

一般形式:date('Y-m-d H:i:s', 1156219870);

2、日期轉換為UNIX時間戳用函數:strtotime()

一般形式:strtotime('2010-03-24 08:15:42');

3、這種方式在PHP程序中完成轉換,優點是無論是不是資料庫中查詢獲得的數據都能轉換,轉換范圍不受限制,缺點是佔用PHP解析器的解析時間,速度相對慢。

(3)php日期處理擴展閱讀

PHP構造函數和析構函數

1、在 PHP4 中,當函數與對象同名時,這個函數將成為該對象的構造函數,並且在 PHP4 中沒有析構函數的概念。

2、在 PHP5 中,構造函數被統一命名為 __construct,並且引入了析構函數的概念,被統一命名為 __destruct。

3、在PHP4中,傳遞變數給一個函數或方法,實際是把這個變數做了一次復制,也就意味著你傳給函數或方法的是這個變數的一個副本,除非你使用了引用符號「&;」 來聲明是要做一個引用,而不是一個 Copy。

4、在 PHP5中,對象總是以引用的形式存在的,對象中的賦值操作同樣也都是一個引用操作。

參考資料

網路-php

Ⅳ PHP入門教程之日期與時間操作技巧總結(格式化,驗證,獲取,轉換,計算等)

本文實例講述了PHP日期與時間操作技巧。分享給大家供大家參考,具體如下:
Demo1.php
<?php
//驗證時間
//checkdate()
1.月份
2.日
3.年
//checkdate()
判斷這個日期是否是合法的日期
//不合法的日期,試一試
if(checkdate(7,16,2010)){
echo
'這個日期是合法有效的';
}else{
echo
'這個日期是非法的。';
}
?>
Demo2.php
<?php
//date
--
格式化一個本地時間/日期
//date(),
徹底研究一下
//date()
可以存放兩個參數,第一參數是日期和時間的格式化,[第二參數是時間戳]
//Y
表示四位數的年份,
y表示二位數的年份
//M
表示英文的月份縮寫,m
表示阿拉伯數字的月份
//D
表示英文下的星期幾縮寫,d
表示阿拉伯數字的日
//第一個參數的格式化可以放一些無關緊要的字元串
//只要無關緊要的字元串不再
format
的目錄里,就不會被識別
//echo
date('現在的日期是:Y-m-d');
//現在的日期是:2015-04-20
//時分秒
=
H
表示24小時制的小時,
//明明是
19
,為什麼顯示
11
點呢,東八區,差
8
個小時
//現在沒有經過任何設置,所以時間在默認時區上
//echo
date('現在的日期是:Y-m-d
H:i:s');
//重點是年月日,時分秒
echo
date('r');
echo
date('現在的日期是:Y-m-d
H:i:sa');
?>
Demo3.php
<?php
//取得當前的時間,返回一個數組
//"sec"
-

Unix
紀元起的秒數
//"usec"
-
微秒數
//"minuteswest"
-
格林威治向西的分鍾數
//"dsttime"
-
夏令時修正的類型
//print_r(gettimeofday());
//第一數組的元素就是時間戳
//gettimeofday()
就是取得的當前時間的時間戳
//$a
=
gettimeofday();
//sec
取得當前時間的時間戳
//轉換成人可以看得懂的時間
//第二個參數,對於本例來講,放與不放,是一樣的。
//echo
date('Y-m-d
H:i:s',$a['sec']);
print_r(gettimeofday(0));
echo
gettimeofday(1);
?>
Demo4.php
<?php
//將時間戳轉換成人可以看的懂的時間
//date()
函數的第二個參數就是時間戳
//如果第二個參數省略了,那麼就返回當前時間
//如果第二個參數沒有省略,那麼就返回那個時間戳的時間
echo
date('Y-m-d
H:i:s',24554457865);
?>
Demo5.php
<?php
//getdate()
也可以轉換時間戳
//print_r(getdate());
//Array
(
[seconds]
=>
26
[minutes]
=>
34
[hours]
=>
10
[mday]
=>
20
[wday]
=>
1
[mon]
=>
4
//[year]
=>
2015
[yday]
=>
109
[weekday]
=>
Monday
[month]
=>
April
[0]
=>
1429526066
)
$t
=
getdate();
echo
$t['year'];
//傳遞一個時間戳
print_r(getdate(1029526066));
?>
Demo6.php
<?php
//直接獲取當前時間戳
//echo
time();//1429526328
//這個
time()
可以調整時間
//大家可以發現
time()
很有用處,可以過去現在和將來
echo
date('Y-m-d
H:i:s',time()+60*60*8);
?>
Demo7.php
<?php
//獲取特定指定時間的時間戳
//這是當前的時間戳
//echo
time();
//我要取得
2008-08-08
08:08:08
$beijing2008
=
mktime(8,8,8,8,8,2008);
echo
date('Y-m-d
H:i:s',$beijing2008);
?>
Demo8.php
<?php
//使用時間戳計算時間差
$now
=
time();//當前的時間戳
$wnow
=
mktime(0,0,0,8,16,2016);
//兩個時間戳相減可以得到差秒
echo
round(($wnow
-
$now)/60/60,2).'相差這幾個小時';
?>
Demo9.php
<?php
//將人可讀的時間,字元串形式,轉換成時間戳
$a
=
strtotime('2010-7-16
15:15:15')-strtotime('2010-7-16
15:14:15');
if($a
>=
60){
echo
'請這位先生休息一會。';
}else{
echo
$a;
}
?>
Demo10.php
<?php
//獲取當前文件的修改時間戳
echo
date('Y-m-d
H:i:s',getlastmod());
?>
Demo11.php
<?php
//配置系統環境變數
echo
date('Y-m-d
H:i:s');
echo
'<br/>';
//我開始設置時區
putenv('Tz=Asia/Shanghai');
echo
date('Y-m-d
H:i:s');
?>
Demo12.php
<?php
//putenv('Tz=Asia/Shanghai');
//獲取當前時區
echo
date_default_timezone_get();
echo
'<br/>';
//開始配置默認時區
date_default_timezone_set('Asia/Shanghai');
echo
date('Y-m-d
H:i:s')
;
echo
'<br/>';
echo
date_default_timezone_get();
?>
Demo13.php
<?php
date_default_timezone_set('Asia/Shanghai');
//"tm_sec"
-
秒數
//"tm_min"
-
分鍾數
//"tm_hour"
-
小時
//"tm_mday"
-
月份中的第幾日
//"tm_mon"
-
年份中的第幾個月,從
0
開始表示一月
//"tm_year"
-
年份,從
1900
開始
//"tm_wday"
-
星期中的第幾天
//"tm_yday"
-
一年中的第幾天
//"tm_isdst"
-
夏令時當前是否生效
print_r(localtime(time(),true));
//Array
(
[tm_sec]
=>
37
[tm_min]
=>
15
[tm_hour]
=>
19
//[tm_mday]
=>
20
[tm_mon]
=>
3
[tm_year]
=>
115
//[tm_wday]
=>
1
[tm_yday]
=>
109
[tm_isdst]
=>
0
)
?>
Demo14.php
<?php
//返回時間戳和微秒數
//怎麼計算頁面運行載入時間
//頁面打開的時候獲取一個時間
//頁面結束的時候獲取一個時間
//用結束的時間減去打開的時間,那麼就是運行時間
//
list($a,$b)=explode('
',microtime());
//
echo
$b;
function
fn(){
list($a,$b)=explode('
',microtime());
return
$a+$b;
//返回出精確的秒數
}
//在頁面打開的時候,獲取一個時間
$start_time
=
fn();
for($i=0;$i<10000000;$i++){
//
}
//頁面結束的時候,獲取一個時間
$end_time
=
fn();
echo
round(($end_time
-
$start_time),4);
?>
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php日期與時間用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網路編程技巧總結》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。

Ⅳ php把後面的時分秒去除,只留日期怎麼改

PHP 中的 date() 函數用於對日期或時間進行格式化。

PHP Date() 函數把時間戳格式化為更易讀的日期和時間。

date(format,timestamp)

參數說明
format 必需。規定時間戳的格式。
timestamp 可選。規定時間戳。默認是當前時間和日期。

注釋:時間戳是一種字元序列,它表示具體事件發生的日期和事件。
獲得簡單的日期

date() 函數的格式參數是必需的,它們規定如何格式化日期或時間。

下面列出了一些常用於日期的字元:

d - 表示月里的某天(01-31)
m - 表示月(01-12)
Y - 表示年(四位數)
1 - 表示周里的某天

其他字元,比如 "/", "." 或 "-" 也可被插入字元中,以增加其他格式。

下面的例子用三種不同方法格式今天的日期:
實例

<?php
echo "今天是 " . date("Y/m/d") . "<br>";
echo "今天是 " . date("Y.m.d") . "<br>";
echo "今天是 " . date("Y-m-d") . "<br>";
echo "今天是 " . date("l");
?>

Ⅵ php 時間加減

<?php
echo "今天:",date('Y-m-d H:i:s'),"<br>";
echo "明天:",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年以後試用,也就是時間戳的適用范圍。

php 常用日期相函數[日期加減,兩日期之差,日期轉換時間截]

下面這些代碼是一些常用的日期處理函數了,可以兩個時間的日期加減,兩日期之差,日期轉換時間截等。

echo date('Y-m-d',strtotime('+1 d',strtotime('2009-07-08')));//日期天數相加函數

echo date("Y-m-d",'1246982400');
echo '<br>';
echo date("Y-m-d",'1279123200');
die();

$d = "2009-07-08 10:19:00";
echo date("Y-m-d",strtotime("$d +1 day")); //日期天數相加函數

function dateToTime($d)//把日期轉換成時間堆截
{
$year=((int)substr("$d",0,4));//取得年份

$month=((int)substr("$d",5,2));//取得月份

$day=((int)substr("$d",8,2));//取得幾號

return mktime(0,0,0,$month,$day,$year);
}

/*

下面函數計算兩日期之差

*/

$Date_1="2009-07-08";

echo $Date_1+1;

$Date_2="2009-06-08";
$Date_List_a1=explode("-",$Date_1);

$Date_List_a2=explode("-",$Date_2);

$d1=mktime(0,0,0,$Date_List_a1[1],$Date_List_a1[2],$Date_List_a1[0]);

$d2=mktime(0,0,0,$Date_List_a2[1],$Date_List_a2[2],$Date_List_a2[0]);

$Days=round(($d1-$d2)/3600/24);

echo "兩日期之前相差有$Days 天";

Ⅶ php 怎麼將指定日期轉換為時間戳

把正常日期格式轉為時間戳呢,請看如下代碼:
$year=((int)substr("2008-12-04",0,4));//取得年份
$month=((int)substr("2008-12-04",5,2));//取得月份
$day=((int)substr("2008-12-04",8,2));//取得幾號
echo mktime(0,0,0,$month,$day,$year);
這樣就能把正常日期轉成時間戳了,這里如果有時分秒也是同理,

Ⅷ php 如何處理 1970前時間 時間戳失效了

php5.2+提供了DateTime類來處理這樣的問題,參考方案如下(請注意時區的處理):

//1、Unix時間戳轉日期functionunixtime_to_date($unixtime,$timezone='PRC'){$datetime=newDateTime("@$unixtime");//DateTime類的bug,加入@可以將Unix時間戳作為參數傳入$datetime->setTimezone(newDateTimeZone($timezone));return$datetime->format("Y-m-dH:i:s");}

//2、日期轉Unix時間戳
functiondate_to_unixtime($date,$timezone='PRC'){
$datetime=newDateTime($date,newDateTimeZone($timezone));
return$datetime->format('U');
}

echodate_to_unixtime("1900-1-3100:00:00");//輸出-2206425952
echo'<br>';
echounixtime_to_date(date_to_unixtime("1900-1-3100:00:00"));//輸出1900-01-3100:00:00

Ⅸ php日期相關

//你還需要知道的另一個變數是年份,不過依你的意思應該是當年。
$timestamp = time();
$dateYear = date('Y', $timestamp);//當前年,依當前需要可以不需要比較,但有時也許會用到,比如你的記錄不是當年要處理的
$dateMonth = date('n', $timestamp);//當前月份數字,沒有前導零
$dateDay = date('j', $timestamp);//月份中的第幾天,沒有前導零

//剩下的就是比較了,比如你要比較的日期是 2007-03-01
$eventDate = '2007-03-01';
$eventDateArr = explode('-', $eventDate);
$eventYear = intval($eventDateArr[0]);
$eventMonth = intval($eventDateArr[1]);
$eventDay = intval($eventDateArr[2]);
//上面是年月日的拆分,根據實際情況可以調整,如果你直接可以得到就不需要這樣取了。

//之後剩下的就是比較了,先比較年
if($dateYear == $eventYear) {
//同年
if($dateMonth == $eventMonth) {
//同月
if($dateDay == $eventDay) {
//同一天,就是當前日期就是事件觸發的日期
} elseif($dateDay > $eventDay) {
//事件已經過期了
} else {
//事件觸發日期還沒到
}
} else {
//之前或之後,再需要詳細判斷可以在這里比較哪個月份大
}
} else {
//之前或之後,再需要詳細判斷可以在這里比較哪個年份大
}

//其實這種比較是最簡單的邏輯判斷,如果你在記錄時間觸發日期時記錄的是 unix 時間戳,這里可以直接進行時間戳比較不過需要處理一下,因為時間戳是精確到秒的

//或者把你記錄的日期及其後一天直接轉化成 unix 時間戳,時分秒都用 0 ,和當前時間戳比較,細節判斷就自己去分析吧,可用函數去查查手冊裡面 strtotime() ,時間相關函數參數很多,不過用過幾次就熟悉了。

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:166
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:737
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:149
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:399
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:545
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:632
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:366