我有一个字符串格式为:dd / mm / yy
e.g。 29/03/14
但是当我使用date()打印它时,我会得到一个完全不同的日期!
我错过了什么?
$endDate = "29/03/14";
echo date("jS F, Y", strtotime( $endDate ));
我甚至尝试过:
echo date("jS F, Y", strtotime( trim($endDate) ));
没有运气!
我正在从文本文件中读取$ endDate
我想要做的是查明它是否是该月的最后一天......
即。本月为03 - 3月为31天 档案中的某一天是29 这不是本月的最后一天
答案 0 :(得分:2)
答案 1 :(得分:2)
$date = DateTime::createFromFormat('d/m/y', '29/03/14');
echo $date->format("jS F, Y");
获得最后一天
echo $date->format('t');
答案 2 :(得分:1)
您的日期格式未被strtotime()
识别。改为使用DateTime类:
$dateObj = DateTime::createFromFormat('d/m/y', $str);
echo $dateObj->format('jS F, Y');
输出:
29th March, 2014
我想要做的是查明它是否是该月的最后一天......
为此,您只需检查给定日期是否与该月的最后一天相同(可以使用t
格式字符获得)
$str = '29/03/14';
$dateObj = DateTime::createFromFormat('d/m/y', $str);
if ($dateObj->format('d') == $dateObj->format('t')) {
echo 'Given date is the last day of the month';
}