2013-08-30 128 views
1

我有一个SQL INSERT声明将CURRENT_DATE放到我的一个表中。我想在一个页面上打印这些内容,但不是使用#### - ## - ##格式,而是像问题标题中那样格式化为日期,月份日期,年份。我可以确定explode()表格元素,并正确显示月份,日期和年份,但该特定日期的哪一天?防爆。从CURRENT_DATE获取日期格式为“2013年10月1日,星期一”

$datearray = explode("-",$date["current"]); 
if ($datearray[1] == '01') { 
    $month = 'January'; 
} else if ($datearray[1] == '02') { 
    $month = 'February'; 
... ... ... 
... ... ... 
... ... ... 
} else { 
    $month = 'December'; 

当然有一个更简单的方法来做到这一点?我如何找到与某个日期对应的星期几?

我想补充一点,我不完全确定我是否应该使用CURRENT_DATE来达到这个目的。如果有其他选择,我找不到它。如果有一个像DATE_IN_WORDS这样的列属性,它会膨胀,但我认为这是一厢情愿,对我而言有点愚蠢。

回答

1
$datearray = explode("-",$date["current"]); 
date('l, F dS, Y', mktime(0, 0, 0, $datearray[1], $datearray[2], $datearray[0])); 

试试这个!

编辑:

或者更简单:

date('l, F dS, Y', strtotime($date["current"])); 
+0

非常好,非常感谢。我想我可能会放弃“周一,周二......”的事情,因为这看起来不错。编辑;我错误地认为我是一个人,现在我也有一天。干杯! – gator

+1

d是两位数前导零,j不存在 – Xevelion

1

strtotime可以将字符串从分贝值转换为unix时间戳和date('l, F dS, Y',$result_of_strtotime)将做休息。

1
$date = new DateTime($date["current"]); 
echo $date->format('l, F jS, Y'); 
相关问题