如果我有一个表示日期的字符串,例如“2011/07/01”(2011年7月1日),我将如何以更易读的形式输出,例如:
1 July 2011
1 Jul 2011 (month as three letters)
而且,我怎么能聪明地将日期范围显示为“2011/07/01”到“2011/07/11”
1 - 11 July 2001
(在这种情况下不重复’七月’和’2011′)
如提到的NullUserException,您可以使用strtotime将日期字符串转换为时间戳.您可以通过使用第一个日期的不同日期格式输出“智能”范围,通过比较年,月和日来确定:
$date1 = "2011/07/01";
$date2 = "2011/07/11";
$t1 = strtotime($date1);
$t2 = strtotime($date2);
// get date and time information from timestamps
$d1 = getdate($t1);
$d2 = getdate($t2);
// three possible formats for the first date
$long = "j F Y";
$medium = "j F";
$short = "j";
// decide which format to use
if ($d1["year"] != $d2["year"]) {
$first_format = $long;
} elseif ($d1["mon"] != $d2["mon"]) {
$first_format = $medium;
} else {
$first_format = $short;
}
printf("%s - %s\n",date($first_format,$t1),date($long,$t2));
总结
以上是编程之家为你收集整理的在PHP中格式化日期字符串全部内容,希望文章能够帮你解决在PHP中格式化日期字符串所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。