我的代码不会用法语输出一周中的几天。注意:我也尝试在代码中翻译一周中的天数,结果相同(只有英文输出)。
date_default_timezone_set('America/New_York');
setlocale (LC_TIME, 'fr_FR.utf8','fra');
$today = strtotime('Saturday 14:00');
$tomorrow = strtotime('Saturday 14:00');
$friday = strtotime('Friday 14:00');
$sunday = strtotime('Sunday 24:00');
$now = time();
if($now < $friday && $now > $sunday)
{
$timeLeft = ($now > $today ? $tomorrow : $today) - $now;
$hoursLeft = gmdate("G", $timeLeft);
$minutesLeft = gmdate("i", $timeLeft);
$secondsLeft = gmdate("s", $timeLeft);
if($hoursLeft > 0)
{
echo $hoursLeft . ' heur';
if($minutesLeft > 0)
{
echo ' et ' . $minutesLeft . ' minutes';
}
}
else
{
echo $minutesLeft . ' minutes et ' . $secondsLeft . ' seconde ';
}
}
else
$date = date("l\, F j", strtotime("tomorrow"));
$day = date('l', strtotime('today'));
if ($day == 'Friday')
{
if($now > strtotime('Friday 14:00'))
{
echo date('l, F j', strtotime('Tuesday'));
}
elseif($now < strtotime('Friday 14:00'))
{
echo date('l, F j', strtotime('Monday'));
}
}
elseif ($day == 'Saturday' || $day == 'Sunday')
{
echo date('l, F j', strtotime('Tuesday'));
} 但是,如果我在上面的外部使用这个基本代码,它就会正确地显示:
setlocale (LC_TIME, 'fr_FR.utf8','fra');
echo (strftime("%A %d %B"));如何使第一个块仅以法语输出?
发布于 2013-11-10 14:43:29
date()不知道位置,你应该用strftime() .它接受第二个$timestamp参数,与date()完全一样。只需将所有date()事件替换为strftime()等效项,您就会得到所需的东西。
所以..。
取代:
$date = date("l\, F j", strtotime("tomorrow"));通过以下方式:
$date = strftime('%A, %B %e', strtotime('tomorrow'));取代:
$day = date('l', strtotime('today'));通过以下方式:
$day = strftime('%A', strtotime('today'));取代:
echo date('l, F j', strtotime('Tuesday'));通过以下方式:
echo strftime('%A, %B %e', strtotime('Tuesday'));取代:
echo date('l, F j', strtotime('Monday'));通过以下方式:
echo strftime('%A, %B %e', strtotime('Monday'));取代:
echo date('l, F j', strtotime('Tuesday'));通过以下方式:
echo strftime('%A, %B %e', strtotime('Tuesday'));就这样!:)
https://stackoverflow.com/questions/19890650
复制相似问题