整个暑假都在帮导师做系统,第一次使用PHP独立完成,目前系统大致已经成型,在这个过程中对PHP和SQL也更加熟悉了,是时候总结一下了。
PHP目前没有什么难点,上手快,目前只是基于用的角度,效率方面还没有过多地考虑。
/***************************************
当前日期时间获取: date('Y-m-d H:m:s',time()); //time()返回的是当前时间戳,date函数将该时间戳以参数一的形式处理返回
php返回的时间有时不是北京时间,只需要设置时区即可:date_default_timezone_set('PRC'); //PRC为中华人民共和国
/***************************************
PHP星期几获取代码:
date("l");//data就可以获取英文的星期比如Sunday
date("w");//这个可以获取数字星期比如123,注意0是星期日
获取中文星期可以这样
$weekarray=array("日","一","二","三","四","五","六");
echo "星期".$weekarray[date("w")];
获取指定日期是:
$weekarray=array("日","一","二","三","四","五","六");
echo "星期".$weekarray[date("w","2011-11-11")];
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"
D - 星期几,三个英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小时制的小时; 如: "01" 至 "12"
H - 24 小时制的小时; 如: "00" 至 "23"
g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12"
G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"
i - 分钟; 如: "00" 至 "59"
j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"
l - 星期几,英文全名; 如: "Friday"
m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"
n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"
M - 月份,三个英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序数,二个英文字母; 如: "th","nd"
t - 指定月份的天数; 如: "28" 至 "31"
U - 总秒数
w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位数字; 如: "1999"
y - 年,二位数字; 如: "99"
z - 一年中的第几天; 如: "0" 至 "365"
/******************************************************下面是通过PHP获取特定系统日期和时间的各种方式:
<?php
echo "今天:".date("Y-m-d")."
";
echo "昨天:".date("Y-m-d",strtotime("-1 day")), "
";
echo "明天:".date("Y-m-d",strtotime("+1 day")). "
";
echo "一周后:".date("Y-m-d",strtotime("+1 week")). "
";
echo "一周零两天四小时两秒后:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")). "
";
echo "下个星期四:".date("Y-m-d",strtotime("next Thursday")). "
";
echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."
";
echo "一个月前:".date("Y-m-d",strtotime("last month"))."
";
echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."
";
echo "十年后:".date("Y-m-d",strtotime("+10 year"))."
";
?>
上面是各种日期的获取,主要是通过strtotime()函数,其作用是将日期时间解析为Unix时间戳,
strtotime(time,now);
/************
time为规定要解析的时间字符串,被解析的字符串,格式根据 GNU » 日期输入格式 的语法。
now为用来计算的时间戳,若为空则使用当前时间.
返回值: 成功则返回间戳,否则返回 FALSE 。在 PHP 5.1.0 之前本函数在失败时返回 -1,后面版本返回false.
/***********
功能:
一,获取指定日期的unix时间戳strtotime("2009-1-22") 示例如下:
1.echo strtotime("2009-1-22")
结果:1232553600
说明:返回2009年1月22日0点0分0秒时间戳
二,获取以指定时间戳为基准的日期时间
strtotime()第一个参数为以参数now为基准的时间描述,比如“+1 day”等等。
1.月,日英文名及其常用缩写清单:
january,february,march,april,may,june,july,august,september,sept,october,november,december,
sunday,monday,tuesday,tues,wednesday,wednes,thursday,thur,thurs,friday,saturday
2.时间参数和祥细描述:
am : 上午; pm : 下午
year: one year; for example, “next year” 年,比如“next year”代表明年
month : one month; for example, “last month” 月,比如“last month”代表上一月
fortnight : two weeks; for example, “a fortnight ago” 两周,比如“a fortnight ago”代表两周前
week: one week 周
day: a day 天
hour: an hour 小时
minute/min : a minute 分钟 ;second/sec : a second 秒
3.相关和顺序说明:
+n/-n :以当前时间算,加个减指定的时间,比如”+1 hour”是指当前时间加一小时
ago : 以当前时间往前算,比如”24 hours ago”代表“24小时前”
tomorrow : 以当前时间(包括日期和时间)为标准,明天同一时间
yesterday : 以当前时间(包括日期和时间)为标准,昨天同一时间
today/now : 当前时间(包括日期和时间)
last : 代表“上一个”,比如“last tuesday”代表“上周二同一时间”
this : 当天的指定时间或下面一个时间段的时间戳,比如“this 7am”给出当天7:00的时间戳,而“this week”给出的是从当前时间开始的一整周的时间戳,也就是当前时间(经本人测试:strtotime('this week')=strtotime('now'));
next : 当前时间加上指定的时间,比如“next hour”是指当前时间加上一小时,即加3600 4.时区描述: 设定时区的当前时间 gmt : Greenwich Mean Time ut/utc : Coordinated Universal Time wet : Western European Time bst : British Summer Time wat : West Africa Time at : Azores Time ast : Atlantic Standard Time adt : Atlantic Daylight Time est : Eastern Standard Time edt : Eastern Daylight Time cst : Central Standard Time cdt : Central Daylight Time mst : Mountain Standard Time mdt : Mountain Daylight Time pst : Pacific Standard Time pdt : Pacific Daylight Time yst : Yukon Standard Time ydt : Yukon Daylight Time hst : Hawaii Standard Time hdt : Hawaii Daylight Time cat : Central Alaska Time akst : Alaska Standard Time akdt : Alaska Daylight Time ahst : Alaska-Hawaii Standard Time nt : Nome Time idlw : International Date Line West cet : Central European Time met : Middle European Time mewt : Middle European Winter Time mest : Middle European Summer Time mesz : Middle European Summer Time swt : Swedish Winter Time sst : Swedish Summer Time fwt : French Winter Time fst : French Summer Time eet : Eastern Europe Time, USSR Zone 1 bt : Baghdad Time, USSR Zone 2 zp4 : USSR Zone 3 zp5 : USSR Zone 4 zp6 : USSR Zone 5 wast : West Australian Standard Time wadt : West Australian Daylight Time cct : China Coast Time, USSR Zone 7 jst : Japan Standard Time, USSR Zone 8 east : Eastern Australian Standard Time eadt : Eastern Australian Daylight Time gst : Guam Standard Time, USSR Zone 9 nzt : New Zealand Time nzst : New Zealand Standard Time nzdt : New Zealand Daylight Time idle : International Date Line East