반응형
PHP를 사용하여 날짜에서 요일을 찾는 방법은 무엇입니까?
내가 가지고 있고 $date
YYYY-mm-dd
그주의 특정 $day
(0 (일요일)에서 6 (토요일)으로 지정) 을 얻고 싶다면 YYYY-mm-dd
.
내가 가진 예를 들어, 2012-10-11
같은 $date
과 5
같이 $day
, 내가 싶어 2012-10-12
내가 가진 한 경우 0
로 $day
,2012-10-14
편집 :
대부분은 그것을 오해했습니다. 나는 어떤 날짜를 얻었고 $date
같은 주에 0-6으로 지정된 요일을 얻고 싶습니다 $date
.
그래서 아니, 나는 $date
... 의 날을 원하지 않습니다 .
나는 이것이 당신이 원하는 것이라고 생각합니다.
$dayofweek = date('w', strtotime($date));
$result = date('Y-m-d', strtotime(($day - $dayofweek).' day', strtotime($date)));
date () 함수를 사용할 수 있습니다.
date('w'); // day of week
또는
date('l'); // dayname
요일 번호를 가져 오는 예제 함수 :
function getWeekday($date) {
return date('w', strtotime($date));
}
echo getWeekday('2012-10-11'); // returns 4
시험
$date = '2012-10-11';
$day = 1;
$days = array('Sunday', 'Monday', 'Tuesday', 'Wednesday','Thursday','Friday', 'Saturday');
echo date('Y-m-d', strtotime($days[$day], strtotime($date)));
다만:
$ date로 2012-10-11, $ day로 5
<?php
$day=5;
$w = date("w", strtotime("2011-01-11")) + 1; // you must add 1 to for Sunday
echo $w;
$sunday = date("Y-m-d", strtotime("2011-01-11")-strtotime("+$w day"));
$result = date("Y-m-d", strtotime($sunday)+strtotime("+$day day"));
echo $result;
?>
$ result = '2012-10-12'는 당신이 원하는 것입니다.
날짜가 이미 DateTime
이거나 방법을 DateTimeImmutable
사용할 수 있습니다 format
.
$day_of_week = intval($date_time->format('w'));
형식 문자열은 날짜 함수에서 사용하는 것과 동일 합니다.
의도 한 질문에 답하려면 :
$date_time->modify($target_day_of_week - $day_of_week . ' days');
PHP 매뉴얼은 다음과 같이 말했습니다.
w 요일의 숫자 표현
따라서 mktime으로 날짜를 구성하고 사용할 수 있습니다. date("w", $yourTime);
수동으로해야합니다. 날짜의 현재 요일을 가져와 오프셋을 계산하고 오프셋을 날짜에 추가합니다.
$current = date("w", $date)
$offset = $day - $current
$new_date = new DateTime($date)
->add(
new DateInterval($offset."D")
)->format('Y-m-d')
포르투갈어 (브라질)에 대해 유사한 솔루션을 사용해야했습니다.
<?php
$scheduled_day = '2018-07-28';
$days = ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb'];
$day = date('w',strtotime($scheduled_day));
$scheduled_day = date('d-m-Y', strtotime($scheduled_day))." ($days[$day])";
// provides 28-07-2018 (Sáb)
<?php echo date("H:i", time()); ?>
<?php echo $days[date("l", time())] . date(", d.m.Y", time()); ?>
간단합니다. 이것은 트릭을해야합니다.
반응형
'IT Share you' 카테고리의 다른 글
Mysql에서 ID를 사용하여 테이블에서 많은 행 삭제 (0) | 2020.11.22 |
---|---|
PyCharm은 Jinja2를 지원합니까? (0) | 2020.11.22 |
동시에 여러 문자열 변수를 선언하고 할당 (0) | 2020.11.22 |
500.19-내부 서버 오류-페이지의 관련 구성 데이터가 잘못되어 요청 된 페이지에 액세스 할 수 없습니다. (0) | 2020.11.22 |
Nuget 패키지에서 콘텐츠 파일을 "로컬 복사 : 항상"으로 설정 (0) | 2020.11.22 |