날짜가 주말인지 확인 PHP
이 함수는 거짓 만 반환하는 것 같습니다. 당신들 중 누구도 똑같이 받고 있습니까? 나는 무언가를 간과하고 있다고 확신하지만, 신선한 눈과 모든 것 ...
function isweekend($date){
$date = strtotime($date);
$date = date("l", $date);
$date = strtolower($date);
echo $date;
if($date == "saturday" || $date == "sunday") {
return "true";
} else {
return "false";
}
}
다음을 사용하여 함수를 호출합니다.
$isthisaweekend = isweekend('2011-01-01');
PHP> = 5.1 인 경우 :
function isWeekend($date) {
return (date('N', strtotime($date)) >= 6);
}
그렇지 않으면:
function isWeekend($date) {
$weekDay = date('w', strtotime($date));
return ($weekDay == 0 || $weekDay == 6);
}
또 다른 방법은 DateTime 클래스 를 사용하는 것입니다 .이 방법으로 시간대를 지정할 수도 있습니다. 참고 : PHP 5.3 이상.
// For the current date
function isTodayWeekend() {
$currentDate = new DateTime("now", new DateTimeZone("Europe/Amsterdam"));
return $currentDate->format('N') >= 6;
}
특정 날짜 문자열을 확인할 수 있어야하는 경우 DateTime :: createFromFormat을 사용할 수 있습니다.
function isWeekend($date) {
$inputDate = DateTime::createFromFormat("d-m-Y", $date, new DateTimeZone("Europe/Amsterdam"));
return $inputDate->format('N') >= 6;
}
이 방법의 장점은 PHP에서 시간대를 전역 적으로 변경하지 않고 시간대를 지정할 수 있다는 것입니다. 이로 인해 다른 스크립트 (예 : Wordpress)에서 부작용이 발생할 수 있습니다.
여기:
function isweekend($year, $month, $day)
{
$time = mktime(0, 0, 0, $month, $day, $year);
$weekday = date('w', $time);
return ($weekday == 0 || $weekday == 6);
}
코드의 작동 버전 (BoltClock이 지적한 오류에서 발췌) :
<?php
$date = '2011-01-01';
$timestamp = strtotime($date);
$weekday= date("l", $timestamp );
$normalized_weekday = strtolower($weekday);
echo $normalized_weekday ;
if (($normalized_weekday == "saturday") || ($normalized_weekday == "sunday")) {
echo "true";
} else {
echo "false";
}
?>
The stray "{" is difficult to see, especially without a decent PHP editor (in my case). So I post the corrected version here.
If you're using PHP 5.5 or PHP 7 above, you may want to use:
function isTodayWeekend() {
return in_array(date("l"), ["Saturday", "Sunday"]);
}
and it will return "true" if today is weekend and "false" if not.
For guys like me, who aren't minimalistic, there is a PECL extension called "intl". I use it for idn conversion since it works way better than the "idn" extension and some other n1 classes like "IntlDateFormatter".
Well, what I want to say is, the "intl" extension has a class called "IntlCalendar" which can handle many international countries (e.g. in Saudi Arabia, sunday is not a weekend day). The IntlCalendar has a method IntlCalendar::isWeekend for that. Maybe you guys give it a shot, I like that "it works for almost every country" fact on these intl-classes.
EDIT: Not quite sure but since PHP 5.5.0, the intl extension is bundled with PHP (--enable-intl).
This works for me and is reusable.
function isThisDayAWeekend($date) {
$timestamp = strtotime($date);
$weekday= date("l", $timestamp );
if ($weekday =="Saturday" OR $weekday =="Sunday") { return true; }
else {return false; }
}
참고URL : https://stackoverflow.com/questions/4802335/checking-if-date-is-weekend-php
'Program Tip' 카테고리의 다른 글
PhpStorm은 넷북에서 매우 느리고 느리며 응답 성을 위해 IDE를 최적화합니까? (0) | 2020.10.08 |
---|---|
SQlite : 선택 하시겠습니까? (0) | 2020.10.08 |
자동 레이아웃에서 하위 뷰의 X를 중앙에 배치하면 "제약 조건에 대해 준비되지 않음"이 발생합니다. (0) | 2020.10.08 |
UIImage의 불투명도 / 알파를 설정하는 방법은 무엇입니까? (0) | 2020.10.08 |
Intellij에서 @author 자동 완성 (0) | 2020.10.08 |