设为首页 收藏本站
查看: 1107|回复: 0

[经验分享] php日期操作函数

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-7-29 10:57:58 | 显示全部楼层 |阅读模式
<?php
header('content-type:text/html;charset=utf-8;');
#总结php操作时间的函数
#1.cal_days_in_month(calendar,month,year):函数针对指定的年份和日历,返回一个月中的天数
#calendar:规定要使用的历法,month:规定月,year:规定年
#calendar的可选参数为:
#CAL_GREGORIAN,公历
#CAL_JULIAN,凯撒历法
#CAL_JEWISH,犹太历法
#CAL_FRENCH,法国共和历法
echo '1.cal_days_in_month(calendar,month,year):';
$d=cal_days_in_month(CAL_GREGORIAN,10,2005);
echo '<br>结果:';
echo $d;

#2.cal_from_jd(jd,calendar):函数把儒略日计数转换为指定历法的日期
$d=unixtojd(mktime(0,0,01,18,2006));
echo '<hr>2.cal_from_jd:';
echo '<br>结果:';
print_r(cal_from_jd($d,CAL_GREGORIAN));

#3.cal_info ([ int $calendar = -1 ] ):函数返回一个数组,其中包含管给定历法的信息
echo '<hr>3.cal_info():<br>结果:';
print_r(cal_info(0));//不填返回所有历法信息,参数设为0,1,2,3分别对应前面的历法

#4.cal_to_jd(calender,month,day,year):函数把指定的日期转换为儒略日期计数
echo '<hr>4.cal_to_jd:<br>';
$d=cal_to_jd(CAL_GREGORIAN,10,03,2005);
echo $d;

#5.easter_date(year):返回指定年份的复活节午夜的Unix时间戳
#如果年份在Unix时间戳范围之外(1970之前,或2037之后)。该函数会生成一个警告,可使用easter_days代替easter_date()来计算年份之外的复活节日期
echo '<hr>5.easter_date:<br>';
$d=easter_date();//year省略则代表当年
echo $d;

#6.easter_days()返回指定年份与3月21日之间的天数
echo '<hr>6.easter_days:<br>';
$d=easter_days();//year省略则代表当年
echo $d;

#7.FrenchToJD()函数将法国共和历法转换成儒略历法;
#GregorianToJD()函数将格里高利历法转换为儒略日历法
echo '<hr>7.FrenchToJD、GregorianToJD:<br>';
$jd = gregoriantojd(10,3,1975);
echo($jd . "<br />");

#8.JDDayOfWeek(jd,mode):函数返回日期在周几
#mode可选,可选值为:0默认,以整数返回周的天(0为周日....)
#1返回包含周的天的字符串。
#2.返回包含周的天的简写的字符串
echo '<hr>8.jddayofweek:<br>';
$jd=cal_to_jd(CAL_GREGORIAN,date("m"),date("d"),date("Y"));
echo(jddayofweek($jd,1));

#9.JDMonthName(jd,mode):函数返回指定历法的月份字符串
#mode可选,可选值:
#0,格里高利历(缩写)
#1.格里高利历
#2.凯撒历(缩写)
#3.凯撒历
#4.犹太历
#5.法国共和历
echo '<hr>9.JDMonthName(julianday, mode):<br>';
$jd=cal_to_jd(CAL_GREGORIAN,date('m'),date('d'),date('Y'));
echo (JDMonthName($jd,1));

// 10.JDToFrench(juliandaycount):函数把儒略日计数转换为共和国历法
// JDToGregorian(julianday):函数把儒略日计数转换为格里高利历法
// jdtojewish(juliandaycount):函数把儒略日计数转换为犹太历法
// JDToJulian(julianday):函数把儒略日计数转换为儒略历
// jdtounix(jday):函数把儒略日计数转换为Unix时间戳
echo '<hr>10.jdtounix():<br>';
$jd=gregoriantojd(10,3,1970);
$unix=jdtounix($jd);
echo $unix;

// 11.JewishToJD(month, day, year):函数把犹太历转换为儒略日计数
// JulianToJD(month, day, year):函数把儒略历转换为儒略日计数
// unixtojd(timestamp):函数把Unix时间戳转换为儒略日计数
echo '<hr>11.unixtojd(timestamp):<br>';
echo unixtojd();

// 12.checkdate(month, day, year):函数验证一个格里高利日期
// 如果指定的值合法,则该函数返回true,否则返回false
// month介于1-12
// Day的在指定的month所应该具有的天数范围之内,闰年已经考虑进去了
// year介于1到32767
echo '<hr>12.checkdate(month, day, year):<br>';
var_dump(checkdate(12,31,2000));

// 13.date_default_timezone_get(oid):函数返回脚本中所有日期时间函数所使用的默认时区。
// date_default_timezone_set(timezone_identifier):函数设置用在脚本中所有日期/时间函数的默认时区
echo '<hr>13.date_default_timezone_get(oid):<br>';
echo date_default_timezone_get();

// 14.date_sunrise(timestamp,format,latitude,longitude,zenith,gmt_offset):函数返回指定的日期与指定地点的日出时间
//date_sunset(timestamp,format,latitude,longitude,zenith,gmt_offset):函数返回指定的日期与地点的日落时间
// format:SUNFUNCS_RET_STRING,以string格式返回结果比如16:46
// SUNFUNCS_RET_DOUBLE,以float格式返回结果,比如16.78243132
// SUNFUNCS_RET_TIMESTAMP,以时间戳的形式返回结果
// latitude,规定地点的纬度,正值北纬,默认;负值,南纬
// longitude,可选,规定地点的经度。默认是指东经,如果要指定西经,需要传递一个负值
// zenith,可选
// gmt_offset,可选,规定GMT与本地时间的差值,单位是小时
echo '<hr>14.date_sunrise(timestamp,format,latitude,longitude,zenith,gmt_offset):<br>';
//echo (date_sunrise(time(),SUNFUNCS_RET_STRING,38.4,-9,90,1));
echo date_sunrise(time());

// 15.date(format,timestamp):格式化一个本地时间/日期
echo '<hr>15.date(format,timestamp):<br>';
echo date('Y-m-d H:i:s');
echo '<br>';
echo date('Y-m-d H:i:s',time());

// 16.getdate(timestamp):函数取得日期信息
// 返回结果中mday,月份中的第几天,wday,星期中的第几天
// yday,年份中的第几天,0,返回时间戳
echo '<hr>16.getdate(timestamp):<br>';
print_r(getdate());

// 17.gettimeofday():函数返回一个包含当前时间信息的数组
// 返回数组的含义:
// "sec" - 自 Unix 纪元起的秒数
// "usec" - 微秒数
// "minuteswest" - 格林威治向西的分钟数
// "dsttime" - 夏令时修正的类型
echo '<hr>17.gettimeofday():<br>';
echo(gettimeofday(true) . "<br />");
print_r(gettimeofday());

// 18.gmdate(format,timestamp):与date类似不同的是返回的是格林尼治标准时间
echo '<hr>18.gmdate(format,timestamp):<br>';
echo gmdate('Y-m-d H:i:s',time());

//19.gmmktime(hour,minute,second,month,day,year):函数获取GMT日期的Unix时间戳
// mktime((hour,minute,second,month,day,year)):函数返回一个日期的 Unix 时间戳。
// hour 可选。规定小时。
// minute 可选。规定分钟。
// second 可选。规定秒。
// month 可选。规定用数字表示的月。
// day 可选。规定天。
// year 可选。规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。
echo '<hr>19.gmmktime(hour,minute,second,month,day,year):<br>';
$d = gmmktime(0,0,0,10,3,1975);
echo $d;

// 20.gmstrftime(format,timestamp):函数根据本地区域设置格式化GMT/UTC时间/日期
// strftime(format,timestamp):函数根据区域设置格式化本地时间/日期
//两个函数的行为相同,只是返回的时间不同,前者是格林尼治本地时间,后者是本地时间
echo '<hr>20.gmstrftime(format,timestamp):<br>';
echo(strftime("%b %d %Y %X", mktime(20,0,0,12,31,1998)));
echo '<br>strftime(format,timestamp):<br>';
echo(gmstrftime("%b %d %Y %X", mktime(20,0,0,12,31,98)));

// 21.idate(format,timestamp)://将本地时间/日期格式化为整数
//与date()不同,idate()只接受一个字符作为format参数
// format参数可选项为:
// B Swatch Beat/Internet Time
// d 月份中的第几天
// h 小时(12 小时格式)
// H 小时(24 小时格式)
// i 分钟
// I 如果启用夏时制则返回 1,否则返回 0
// L 如果是闰年则返回 1,否则返回 0
// m 月份的数字
// s 秒数
// t 本月的总天数
// U 自 Unix 纪元(January 1 1970 00:00:00 GMT)起的秒数――这和 time() 作用相同
// w 星期中的第几天(星期天是 0)
// W ISO-8601 格式年份中的第几个星期,每星期从星期一开始
// y 年份(1 或 2 位数字――见下面说明)
// Y 年份(4 位数字)
// z 年份中的第几天
// Z 以秒为单位的时区偏移量
echo '<hr>21.idate(format)<br>';
echo idate('Y');

// 22.localtime(timestamp,is_associative):函数返回本地时间(一个数组)。
// 关联数组中不同的键名是:
// "tm_sec" - 秒数
// "tm_min" - 分钟数
// "tm_hour" - 小时
// "tm_mday" - 月份中的第几日
// "tm_mon" - 年份中的第几个月,从 0 开始表示一月
// "tm_year" - 年份,从 1900 开始
// "tm_wday" - 星期中的第几天
// "tm_yday" - 一年中的第几天
// "tm_isdst" - 夏令时当前是否生效
echo '<hr>22.localtime:<br>';
$localtime = localtime();
$localtime_assoc = localtime(time(), true);
print_r($localtime);
echo '<br>';
print_r($localtime_assoc);

// 23.microtime():函数返回当前Unix时间戳和微妙数
echo '<hr>23.microtime():<br>';
echo microtime();

//24.strtotimr():函数将任何英文文本的日期时间描述解析为Unix时间戳
echo '<hr>24.strtotime():<br>';
echo strtotime('now');
echo '<br>';
echo strtotime('2014/7/22');

// 25.time(oid):返回当前时间的Unix时间戳
echo '<hr>25.time():<br>';
echo time();




?>


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-22830-1-1.html 上篇帖子: php数组函数小结 下篇帖子: php加密算法小结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表