میلاد تجری
میلاد تجری
خواندن ۱ دقیقه·۴ سال پیش

بیرون کشیدن روز های خاص هفته از شروع تا پایان یک تاریخ(تاریخ هاش)php laravel

تاریخ شروع و تاریخ پایان و ایام هفته ای را که میخواهید به این تابع بدهید تا برای شما کل روز هایی که شامل ان میشود را از تاریخ بیرون بکشد


مثال

تاریخ شروع 1-6-99

تاریخ پایان 30-6-99

روز های هفته ای که میخواهیم = 1و 5

خروجی = تمام دوشنبه ، جمعه ها بین تاریخ شروع تا پایان

---------------------------------------------------------------------------------------------------------------------------------------------------

ایام هفته به شماره

1 == دوشنبه

2 == سه شنبه

3 == چهارشنبه

4 == پنج شنبه

5 == جمعه

6 == شنبه

7 == یک شنبه

------------------------------------------------------------------------------------------------------------------------------------------------------

روز های انتخاب شده

$weekselect = $request->weekselect;

تاریخ شروع

$start_date = $request->start_date;

تاریخ پایان

$end_date = $request->end_date;

فرستادن به تابع

$date = $this->ExportDateAsNumberWeek($start_date,$end_date,$weekselect);

خروجی شامل تاریخ هایی میشود که در ان هفته های مورد نظر هست






public function ExportDateAsNumberWeek($start_date,$end_date,$weekselect)

{

$startTime = strtotime( "$start_date 12:00" );

$endTime = strtotime( "$end_date 12:00" );

// Loop between timestamps, 24 hours at a time

$j = 0;

for ( $i = $startTime; $i <= $endTime; $i = $i + 86400 )

{

$NumberWeek = date( 'N', $i );


if(in_array(1,$weekselect))

if($NumberWeek == 1)

{

//دوشنبه

$result[$j] = date( 'Y-m-d', $i );

}

if(in_array(2,$weekselect))

if($NumberWeek == 2)

{

//سه شنبه

$result[$j] = date( 'Y-m-d', $i );

}

if(in_array(3,$weekselect))

if($NumberWeek == 3)

{

//چهارشنبه

$result[$j] = date( 'Y-m-d', $i );

}

if(in_array(4,$weekselect))

if($NumberWeek == 4)

{

//پنج شنبه

$result[$j] = date( 'Y-m-d', $i );

}

if(in_array(5,$weekselect))

if($NumberWeek == 5)

{

//جمعه

$result[$j] = date( 'Y-m-d', $i );

}

if(in_array(6,$weekselect))

if($NumberWeek == 6)

{

//شنبه

$result[$j] = date( 'Y-m-d', $i );

}

if(in_array(7,$weekselect))

if($NumberWeek == 7)

{

//یک شنبه

$result[$j] = date( 'Y-m-d', $i );

}


$j++;


}


return $result;


}



این کد شاید بهینه نباشه و .....در اینترنت سرچ کردم فارسی و انگلیسی نمونه ای نبود گفتم بنویسم شاید بدرد کسی بخوره / اگر کد بهینه تر یا ویرایش شده همین را داشتید ممنون میشم در اختیار همه قرار بدید و بنده.

@miladtajare

میلاد تجری


Extract certain days from the beginning to the end of a date




مقدار دهی و فراخوانی تابع
مقدار دهی و فراخوانی تابع


تبیرون کشیدن هفته های مورد نظر
تبیرون کشیدن هفته های مورد نظر



php

laravel



gitlab : milad.pc.tajare

instagram : miladtajare_new

telegram : miladtajare

website : ideamon.ir

backend_developer

?


میلاد تجری برنامه نویس وب front back / php laravel lumen vuejs bootstrap
شاید از این پست‌ها خوشتان بیاید