PHP星期几数字到星期几文本
这可能很容易,但我找不到一个PHP函数来做到这一点…
好吧
$dow_numeric = date('w');
星期日至星期六给出星期0-6的数字date。
和
$dow_text = date('D');
给出星期几(Sun,Mon等)的3个字母的缩写
有一个函数或简单的方法来使用$dow_numeric
获得$dow_text
? 如果我有'0'作为$dow_numeric
,我如何使$dow_text = 'Sun'
? 是的switch
语句可以完成这项工作,但我正在寻找一个更优雅的解决scheme。
创build一个数组以将数字DOW映射到文本DOW。
$dowMap = array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
如果你需要区域设置的支持,加载一些随机的date(例如epoch(0)将是一个很好的date),然后在接下来的6天,dynamic地build立dow地图。
黑客的位,但:
$dow_text = date('D', strtotime("Sunday +{$dow_numeric} days"));
这不是stream行的,但实际上PHP中有一个函数jddayofweek
。 您可以使用第二个参数调用它为1来获取完整的公历周名称,或者缩写名称为2。
eg jddayofweek(2, 2); #returns Wed
请注意,对于此function,数字从星期一开始。 所以星期一= 0,星期二= 1,…
这应该工作:
$dow_numeric = 3; $last_sunday = strtotime('last Sunday'); $dow_text = date('D', strtotime('+'.$dow_numeric.' day', $last_sunday));
function getDay(){ $dowMap = array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'); $dow_numeric = date('w'); return $dowMap[$dow_numeric]; }