1,取本周第一天、最后一天
echo '本周第一天(星期一为一周开始):'.date('Y-m-d', time()-86400*date('w')+(date('w')>0?86400:-6*86400)).'<br/>';
echo '本月第一天:'.date('Y-m-d', mktime(0,0,0,date('n'),1,date('Y'))).'<br/>';
echo '本月最后一天:'.date('Y-m-d', mktime(0,0,0,date('n'),date('t'),date('Y'))).'<br/>';
2,PHP DATE 取得当月的第一天和最后一天!
echo date('Y-m-01',time()).'----'.date('Y-m-t',time())
3,PHP时间函数 给定日期的下个月第一天 当月第一天
代码:
function GetPurMonth($date){//获取指定日期上个月的第一天和最后一天。
$firstday=date('Y-m-01',strtotime(date('Y',$time).'-'.(date('m',$time)-1).'-01'));
$lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
return array($firstday,$lastday);
}
问题出现了。
比如获取第一天,上面这种使用(date('m',$time)-1);万一要是获取给定日期的上上个月呢。
难道要直接减2?那万一要是给定的日期是1月份呢。难道最终会成为 date('Y-m-01', strtotime('2012--1-01')) ?????这明显是个错误 的时间格式。
所以这种函数不适合扩展使用。
查询PHP函数库,找到一个函数 mktime();
mktime()
定义和用法
mktime() 函数返回一个日期的 Unix 时间戳。
参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。
参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。
语法
mktime(hour,minute,second,month,day,year,is_dst)
例子:
mktime() 函数对于日期运算和验证非常有用。它可以自动校正越界的输入;
这是什么意思。自动校正越界输入。对头。我们就是要这个功能。下面看下实例
echo '
';
echo date('Y-m-d', mktime(0,0,0,-2,1,2012));
要输出2012年1月1号前2个月的日期。
即 2011年10月1号。
1970-01-01
2011-10-01
结论:
第一个函数出错了。显示了时间戳为0的时间。
而第二个函数让我们得到了想要的时间。
在本节给出的这个函数,可以获取当月的第一天。
该函数接受一个单一的,可选的参数,它是一个UNIX时间戳的任何日期。
然后,该函数将返回从UNIX时间戳月份的第一天的UNIX时间戳。如果没有时间戳,该功能默认当前的月份。
由此产生的时间戳,可以结合php的日期函数date()进行任意可能的操作。
非常适合用作日历类,以及获取任何一个月的第一天。
代码:
<?php /* * * @ 返回某月第一天的时间戳 * * @param INT Unix timestamp * * @return INT * */ function firstDayOfMonth($uts=null) { $today = is_null($uts) ? getDate() : getDate($uts); $first_day = getdate(mktime(0,0,0,$today['mon'],1,$today['year'])); return $first_day[0]; } /*** example usage ***/ /*** using the default ***/ echo firstDayOfMonth(); echo '<hr />'; /*** using a timestamp ***/ $long_ago = strtotime('April 16 2002'); echo firstDayOfMonth($long_ago); ?>
演示结果:
1375279200
1017583200
有时,我们需要将一些文字打在图片上,即所谓的文字水印。
本节分享的这段代码,借助php的图像函数,可以实现这样的功能。
如果文件不存在,将会返回图像显示的相关错误信息。
因此,在做文字水印之前,应检查文件是否存在、检查文件类型等工作。
介绍了这么多,来看代码吧,如下:
<?php /** * @文字水印效果 * @by www. */ /*** set the header for the image ***/ header("Content-type: image/jpeg"); /*** specify an image and text ***/ $im = writeToImage('test.jpg', 'PHPRO rules again'); /*** spit the image out the other end ***/ imagejpeg($im); /** * * @Write text to an existing image * * @Author Kevin Waterson * * @access public * * @param string The image path * * @param string The text string * * @return resource * */ function writeToImage($imagefile, $text){ /*** make sure the file exists ***/ if(file_exists($imagefile)) { /*** create image ***/ $im = @imagecreatefromjpeg($imagefile); /*** create the text color ***/ $text_color = imagecolorallocate($im, 233, 14, 91); /*** splatter the image with text ***/ imagestring($im, 6, 25, 150, "$text", $text_color); } else { /*** if the file does not exist we will create our own image ***/ /*** Create a black image ***/ $im = imagecreatetruecolor(150, 30); /* Create a black image */ /*** the background color ***/ $bgc = imagecolorallocate($im, 255, 255, 255); /*** the text color ***/ $tc = imagecolorallocate($im, 0, 0, 0); /*** a little rectangle ***/ imagefilledrectangle($im, 0, 0, 150, 30, $bgc); /*** output and error message ***/ imagestring($im, 1, 5, 5, "Error loading $imagefile", $tc); } return $im; } ?>