我有一列存储星期几的 1 位值:
0 = Sunday
1 = Monday
...
6 = Saturday
我尝试了 PHPdate('l', $row['dow'])
和 MySQL DATE_FORMAT(dow, '%w')
,但都没有返回星期几字。
是否可以在 PHP 或 MySQL 中执行此操作,或者我只需要创建一个 array() var?
您需要完整的日期/时间戳才能使任何日期格式化功能正常工作。只是“1”或“2”对这些函数没有任何意义(或者至少不是你想要的意思)。如果您要存储完整的时间戳,则无需再次单独存储星期几。否则,您需要自己将那些原本毫无意义的数字翻译成一个词。
$dow = date('l', strtotime("Sunday +{$row['dow']} days"));
上date( 'l' )
:
l (lowercase 'L') - A full textual representation of the day of the week - Sunday through Saturday
你应该使用日期('w'):
w - Numeric representation of the day of the week - 0 (for Sunday) through 6 (for Saturday)
编辑:啊,所以你想要(仅)数字的文本表示。那么一张简单的地图就足够了:
$dayNames = array( 'Sunday', 'Monday', ..., 'Saturday' );
$day = $dayNames[$row['dow']];
http://php.net/manual/bg/function.date.php
这是php日期格式的所有代码
从您的数据库中选择您的日期和 php 使用日期('l', strtotime($date))