请问您如何打印上个月的名字?
我正在写我的网站上代表“上个月的小姐/先生”的Drupal 7块,并想知道如何做到最好:
另外一个困难是我的网站是俄语,名字已经下降。
目前我已在数组中硬编码月份名称。我不知道如何在该数组中找到相关索引:
function pref_block_view($block_name = '') {
$MONTHS = array(
'января',
'февраля',
'марта',
'апреля',
'мая',
'июня',
'июля',
'августа',
'сентября',
'октября',
'ноября',
'декабря',
);
...
if ($block_name == 'pref_mister') {
$result = db_query("
select r.id,
count(r.id),
u.first_name,
u.avatar,
u.city
from pref_rep r, pref_users u where
r.nice=true and
to_char(current_timestamp - interval '1 month', 'IYYY-MM') =
to_char(r.last_rated, 'IYYY-MM') and
u.female=false and
r.id=u.id
group by r.id , u.first_name, u.avatar, u.city
order by count(r.id) desc
limit 1
");
$record = $result->fetchObject();
return array(
'subject' => sprintf('Фаворит %s', $MONTHS[2]),
'content' => sprintf('
<p align="center">%s</p>
<p align="center">%s</p>
<p align="center">%u оценок</p>',
user_link($record),
user_avatar($record),
$record->count),
);
}
我试过
setlocale(LC_TIME, "ru_RU");
print strftime("%B", strtotime("1/3/2003"));
# don't know how to get the prev. month date above...
但它给了我有趣的角色(可能不是UTF8中的俄语 - 这就是我需要的)。
答案 0 :(得分:1)
date("n");
将为您提供没有前导零的月份,为您的数组索引减去一个。
编辑:我的意思是减去2,因为你想要上个月。然后确保它不会进入底片。
答案 1 :(得分:-1)
创建一个月份的字符串数组,(0将是1月,12月将是11),使用日期函数获取当前月份 - 如果PHP有一个。
然后在字符串数组中搜索当前月份的索引 - 1并返回