2010-06-15 22:05:08     分类: Php
摘要: 包含PHP基础语法部分面试题, 包含:日期,字符串,数据类型,函数,用法分辨,配置,特性,垃圾回收…持续收集中…

一、 打印本周第一天日期

<?php 
echo date('Y-m-d', strtotime('this week'));

二、打印上周周一到周日的日期

<?php
date('Y-m-d', strtotime('-1 week Monday');
date('Y-m-d', strtotime('-1 week Tusday');
// ...Wednesday Friday Saturday Sunday

三、按要求打印特定日期

<?php
// 本月第一天:  
date('Y-m-01',  time());

// 本月最后一天: 
date('Y-m-d', strtotime(date('Y-m-01').' +1 month -1 day'));

// 上月第一天:  
date('Y-m-d', strtotime(date('Y-m-01').'  -1 month'));

// 上月最后一天:  
date('Y-m-d', strtotime(date('Y-m-01').'  -1 day'));

// 本年第一天: date('Y-01-01', time());

// 指定日期当月第一天: 
date('Y-m-01', strtotime('2016-08-02'));

// 指定日期当月最后一天: 
date('Y-m-d', strtotime(date('Y-m-01', strtotime('2016-08-02')).' +1 month -1 day'));

四、计算给定日期当前有多少天

<?php
// 指定日期
$date = '2010-06-15'

$dateTicket = strtotime($date);

// cal_days_in_month 方法 : 需要php打开此方法
$days = cal_days_in_month(CAL_GREGORIAN, date('m', $dateTicket), date('Y', $dateTicket));
echo sprintf('有%d天', $days);

// 用滴答数计算
$start = strtotime(date('Y-m-01', $dateTicket);
$end = strtotime(date('Y-m-d', strtotime(date('Y-m-01', $dateTicket).' +1 month -1 day')));
$days =round( ($end-$start)/(60*60*24));
echo sprintf('有%d天', $days)

五、计算今天是星期几,星期中的第几天,月份中的第几天,年中的第几天

<?php
$arr = getdate();
// 星期几
$arr[''weekday'];
// 星期中的第几天
$arr['wday'];
// 月份中的第几天
$arr['mday']
// 年中的第几天
$arr['yday']

六、获取本地时间

step1: php.ini中设置 date.timezone="Asia/Shanghai"

step2: php中设置 date_default_timezone_set("Asia/Shanghai")

七、如何判断一个值是日期类型

<?php
if (strtotime('111')) {
    echo '是';
} else {
   echo '否';
}

文章标签: