PHP獲取當(dāng)前時間可以使用time函數(shù),函數(shù)格式為 int time ? ?( void ? ),返回自從 Unix 紀(jì)元(格林威治時間 1970 年 1 月 1 日 00:00:00)到當(dāng)前時間的秒數(shù)。
創(chuàng)新互聯(lián)建站公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站建設(shè)、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元尼木做網(wǎng)站,已為上家服務(wù),為尼木各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
把time格式的時間以年月日時分秒的格式輸出,可以使用date函數(shù),格式是string date ? ? ( string $format ? ?[, int $timestamp ? ] ),例子代碼:
?php
$t=time();
echo?"$t\n";
echo?date('Y-m-d?H:i:s',?$t)
?
運行結(jié)果為:
E:\TEMP\文件\expa.php
1451271607
2015-12-28?11:00:07
date函數(shù)的格式化字符許多,主要的有下面這些:
年:
L ? ?是否為閏年 ? ?如果是閏年為 1,否則為 0 ?
o ? ?ISO-8601 格式年份數(shù)字。這和 ? ? ? ?Y 的值相同,只除了如果 ISO ? ? ? ?的星期數(shù)(W)屬于前一年或下一年,則用那一年。(PHP 5.1.0 新加) ? ?Examples: 1999 or 2003 ?
Y ? ?4 位數(shù)字完整表示的年份 ? ?例如:1999 或 2003 ?
y ? ?2 位數(shù)字表示的年份 ? ?例如:99 或 03 ?
月:
F ? ?月份,完整的文本格式,例如 January 或者 March ? ?January 到 December ?
m ? ?數(shù)字表示的月份,有前導(dǎo)零 ? ?01 到 12 ?
M ? ?三個字母縮寫表示的月份 ? ?Jan 到 Dec ?
n ? ?數(shù)字表示的月份,沒有前導(dǎo)零 ? ?1 到 12 ?
t ? ?給定月份所應(yīng)有的天數(shù) ? ?28 到 31 ?
日:
d ? ?月份中的第幾天,有前導(dǎo)零的 2 位數(shù)字 ? ?01 到 31 ?
D ? ?星期中的第幾天,文本表示,3 個字母 ? ?Mon 到 Sun ?
j ? ?月份中的第幾天,沒有前導(dǎo)零 ? ?1 到 31 ?
l(“L”的小寫字母) ? ?星期幾,完整的文本格式 ? ?Sunday 到 Saturday ?
N ? ?ISO-8601 格式數(shù)字表示的星期中的第幾天(PHP 5.1.0 新加) ? ?1(表示星期一)到 7(表示星期天) ?
S ? ?每月天數(shù)后面的英文后綴,2 個字符 ? ?st,nd,rd或者 th??梢院?j 一起用 ?
w ? ?星期中的第幾天,數(shù)字表示 ? ?0(表示星期天)到 6(表示星期六) ?
z ? ?年份中的第幾天 ? ?0 到 366 ?
星期:
W ? ?ISO-8601 格式年份中的第幾周,每周從星期一開始(PHP 4.1.0 新加的) ? ?例如:42(當(dāng)年的第 42 周) ?
時間:
a ? ?小寫的上午和下午值 ? ?am 或 pm ?
A ? ?大寫的上午和下午值 ? ?AM 或 PM ?
B ? ?Swatch Internet 標(biāo)準(zhǔn)時 ? ?000 到 999 ?
g ? ?小時,12 小時格式,沒有前導(dǎo)零 ? ?1 到 12 ?
G ? ?小時,24 小時格式,沒有前導(dǎo)零 ? ?0 到 23 ?
h ? ?小時,12 小時格式,有前導(dǎo)零 ? ?01 到 12 ?
H ? ?小時,24 小時格式,有前導(dǎo)零 ? ?00 到 23 ?
i ? ?有前導(dǎo)零的分鐘數(shù) ? ?00 到 59 ?
s ? ?秒數(shù),有前導(dǎo)零 ? ?00 到 59 ?
一般有兩種訪問:
方法一:
$sql="INSERT INTO `test` (`id`,`content`,`datetime`)values(NULL,'hello',now())";
$query=mysql_query($sql); //執(zhí)行sql語句
//這種方法,你datetime字段要設(shè)計成date類型,now() 是mysql數(shù)據(jù)庫提供的一個獲取當(dāng)前時間函數(shù)
方法二:
$sql="INSERT INTO `test` (`id`,`content`,`datetime`)values(NULL,'hello',".time().")";
$query=mysql_query($sql); //執(zhí)行sql語句
//這種方法:datetime字段設(shè)計成int(10)類型。time()是php提供獲取時間戳的函數(shù)。
推薦使用方法二,因為這種方式,一.排序速度快,二.方便轉(zhuǎn)換時間區(qū)。主流的開源程序都有采用這方式。像discuz phpwind dedecms等等。
方法一date函數(shù)
echo date(‘y-m-d h:i:s’,time());
//2010-08-29 11:25:26
方法二 time函數(shù)
$time = time();
echo date("y-m-d",$time) //2010-08-29
方法三 $_server['server_time']
方法四 strftime
echo strftime ("%hh%m %a %d %b" ,time());
18h24 sunday 21 may
還有一個問題就是時區(qū)問題,php環(huán)境默認(rèn)時差與北京時間相差8小時,我們要想獲取正確的時間就必須設(shè)置
在php文件開始處 加上date_default_timezone_set('prc');
或在php.ini里面 date.timezone=prc;嗾。
記得修改了php.ini要重起apache
建立數(shù)據(jù)表
create table `data_reg`
(
`ID` bigint(20) unsigned NOT NULL auto_increment,//這里是id自動增長列
`idate` datetime, //這里是時間列
`username` varchar(20) //用戶名
)
插入數(shù)據(jù) //使用mysql的now() 函數(shù)代表當(dāng)前時間!
insert into `data_reg` (`idate`, `username`) values ( now(), 'myname');