2 일 사이의 일 수를 찾는 방법 날짜가 아님 PHP를 사용하고 있습니까?일주일에 두 일 사이의 일 수를 찾는 방법은 무엇입니까?
두 날짜 사이의 일 수를 얻는 방법을 알고 있지만 입력 값은 날짜 이름 (날짜 - 무지)입니다.
입력/출력 :
Wednesday
및 Saturday
반환
Sunday
3
및 Wednesday
반환
2 일 사이의 일 수를 찾는 방법 날짜가 아님 PHP를 사용하고 있습니까?일주일에 두 일 사이의 일 수를 찾는 방법은 무엇입니까?
두 날짜 사이의 일 수를 얻는 방법을 알고 있지만 입력 값은 날짜 이름 (날짜 - 무지)입니다.
입력/출력 :
Wednesday
및 Saturday
반환
Sunday
3
및 Wednesday
반환
당신의 작업은 날짜를 필요로하지 않는 것 전혀 기능을하지 않습니다. 간단한 조회 배열로 충분합니다.
코드 : (Demo)
는function daysUntil($start,$end){
$lookup=['Sunday'=>0,'Monday'=>1,'Tuesday'=>2,'Wednesday'=>3,'Thursday'=>4,'Friday'=>5,'Saturday'=>6];
$days=$lookup[$end]-$lookup[$start];
return "From $start to $end: ".($days<1?$days+7:$days);
}
echo daysUntil('Wednesday','Saturday'),"\n"; // Thursday, Friday, Saturday
echo daysUntil('Monday','Friday'),"\n"; // Tuesday, Wednesday, Thursday, Friday
echo daysUntil('Thursday','Thursday'),"\n"; // [assumed next week]
echo daysUntil('Friday','Monday'),"\n"; // Saturday, Sunday, Monday
echo daysUntil('Saturday','Sunday'),"\n"; // Sunday
echo daysUntil('Sunday','Saturday'),"\n"; // Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
echo daysUntil('Sunday','Wednesday'); // Monday, Tuesday, Wednesday
출력 :
From Wednesday to Saturday: 3
From Monday to Friday: 4
From Thursday to Thursday: 7
From Friday to Monday: 3
From Saturday to Sunday: 1
From Sunday to Saturday: 6
From Sunday to Wednesday: 3
아니면 대체 할 수있는 4 기능을 조회 배열은 호출
$days=date('w',strtotime($end))-date('w',strtotime($start));
http://sandbox.onlinephpfunctions.com/code/b349aae527654d25a3dbd92df2a3dde386ca423a
3
를 사용하여 PHP date_diff()
기능 (docs).
$datetime1 = date_create(date('Y-m-d',strtotime('wednesday')));
$datetime2 = date_create(date('Y-m-d',strtotime('saturday')));
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%d'); // For days
은 "3"를 반환,하지만 당신은 그것을 실행 따라 때 정화 당
$datetime1 = date_create($date_1);
$datetime2 = date_create($date_2);
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%d'); // For days
, 당신은 임의의 토요일과 수요일은 그것을 계산하기 위해 만들 수 있습니다.
은 내가 몇 시간 전에 내 정답에 downvote를 수신하기 때문에 약간의 불만을해야합니다 생각합니다. 내 사과하지만 올바른 결과를 제공하지 않기 때문에 나는이 답변을 downvote해야합니다. https://3v4l.org/BO44o – mickmackusa
당신은 새로운 날짜 시간 수업 분석의 오늘의 이름을 쓸 수 있습니다 : 하나의 행 버전 아래 또한
<?php
$datetime1 = new DateTime('Sunday');
$datetime2 = new DateTime('Wednesday');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>
:
는echo (new DateTime('Sunday'))->diff(new DateTime('Wednesday'))->format('%a days');
사과, 몇 시간 전에 내 정답에 downvote를 copping 후 조금 불만이 있어야합니다. 이 대답은 원하는 결과를 제공하지 않습니다. https://3v4l.org/lhVOu – mickmackusa
public function numOfDaysBetween($start,$end)
{
$days=[0=>'Saturday',1=>'Sunday',2=>'Monday',3=>'Tuesday',4=>'Wednesday',5=>'Thursday',6=>'Friday'];
$index_start=array_search($start, $days);
$index_end=array_search($end, $days);
if($index_start==$index_end)
{
return 7;
}else if($index_start<$index_end)
{
return $index_end-$index_start;
}else
{
return 7-($index_start-$index_end);
}
}
이 답변은 나에게 부끄러운 것처럼 보입니다. 이것은 표절과 너무 흡사합니다. 이 대답은 내가 받아 들인 솔루션의 효율성이 떨어진다. 제 8 시간 후에 게시되었으며 페이지에 아무런 가치를 제공하지 않습니다. – mickmackusa
오른쪽 나는 다른 대답을 테스트하지만 잘못된 결과를 낸다. – predactor
어제 또 다른 것을 썼지 만 네가 간단하다. – predactor
기꺼이 도와 줘. (항상 귀하의 질문에 귀하의 코딩 시도를 포함하십시오 - 이것은 귀하의 질문에 downvotes을 피할 것입니다) – mickmackusa