英文裡的數,可以分為「基數」(one、two、three)與「序數」(第一first、第二second、第三third)
日期表示:
- 1號、11號、21號、31號 英文 => 1st, 11st, 21st, 31st (數字後面加 st)
- 2號、12號、22號 英文 = 2nd, 12nd, 22nd (數字後面加 nd)
- 3號、13號、23號 英文 = 3rd, 13rd, 23rd (數字後面加 rd )
- 其他的後面(4~9)加 "th" 就符合規則了如=> 19th, 24th, 8th
MYSQL
取得現在時間---------------
select DATE_FORMAT(NOW(),'%H:%s, %D %b., %Y')==> 09:01, 2nd Feb., 2012
符合 rfc822
$date=gmdate("D, d M Y H:i:s", $this->unix);
DATE_FORMAT(time,'%a, %d %b %y %k:%i:%s +0000')
PHP
取得現在時間---------------
echo date("Y/m/d H:i",time()); //其結果為2010/03/24 14:32
echo date("H:i,jS D.,Y"); //結果:11:38,6th Mon.,2012
PHP:
d - 幾日,兩位數字,若不足二位則前面補零; 如: "01" 至 "31"
j - 幾日,兩位數字,若不足二位不補零; 如: "1" 至 "31"
D - 星期幾,三個英文字母; 如: "Fri"
l - 星期幾,英文全名; 如: "Friday"
F - 月份,英文全名; 如: "January"
Y - 年份,四位數字; 如: "1999"
y - 年份,二位數字; 如: "99"
h - 12 時制的小時; 如: "01" 至 "12"
H - 24 時制的小時; 如: "00" 至 "23"
g - 12 時制的小時,不足二位不補零; 如: "1" 至 12"
G - 24 時制的小時,不足二位不補零; 如: "0" 至 "23"
i - 分鐘; 如: "00" 至 "59"
m - 月份,兩位數字,若不足二位則在前面補零; 如: "01" 至 "12"
n - 月份,兩位數字,若不足二位則不補零; 如: "1" 至 "12"
M - 月份,三個英文字母; 如: "Jan"
s - 秒數; 如: "00" 至 "59"
S - 字尾加英文序數,二個英文字母; 如: "th","nd"
t - 指定月份的天數; 如: "28" 至 "31"
U - 總秒數
w - 數字型的星期幾,如: "0" (星期日) 至 "6" (星期六)
z - 一年中的第幾天; 如: "0" 至 "365"
date('U',time())
主要是將文字日期改為Unix時間戳記
$ThisDay = '2008-01-01'; $ThisDay = strtotime($ThisDay); // 將日期轉為Unix時間戳記 echo date("Y-m-d",strtotime("now",$ThisDay)). "\n"; //顯示2008-01-01 echo date("Y-m-d",strtotime("+1 day",$ThisDay)). "\n"; //顯示2008-01-02 echo date("Y-m-d",strtotime("+1 week",$ThisDay)). "\n"; //顯示2008-01-08 echo date("Y-m-d",strtotime("+1 week 2 days 4 hours 2 seconds",$ThisDay)). "\n"; //顯示2008-01-10 echo date("Y-m-d",strtotime("next Thursday",$ThisDay)). "\n"; //顯示2008-01-03 echo date("Y-m-d",strtotime("last Monday",$ThisDay)). "\n"; //顯示2007-12-31 以上範例會有1970的問題 使用 date_default_timezone_set('UTC'); 可以解決 日期:2012-01-13 00:56:35 date("Y-m-d 00:00:00",strtotime("-1 week")) //往前推七天 2012-01-06 00:00:00
date('U',time()); 獲得現在的秒數
mktime(hour,minute,second,month,day,year,is_dst)
範例:今天往後算一個月的日子
$years = date("Y"); $months = date("m"); $days = date("d"); $day = date("Y-m-d",mktime(0,0,0,$months+1,$days,$years));
只有 小時與分鐘,所以mysql 的 unix_timestamp 不能用。
找出 開始與結束時間是否是一樣的
$ss_start=($_sHour * 60 + $_sMinute)*60; //秒
$ss_end=($_eHour * 60 + $_eMinute)*60; //秒
$sql="select * from `XXX` where TIME_TO_SEC( `start`)='$ss_start' and TIME_TO_SEC(`end`)='$ss_end' and auto='{$auto_id}'";
沒有留言:
張貼留言