دسته بندی ها
10:43 1400/03/10

تقسیم بندی زمان در بازه های زمانی مختلف توسط جاوااسکریپت

مشخصات سوال کننده :
کاربر : ghiyasi     امتیاز کاربر : ‎−3     رتبه کاربر : 7151
دسته بندی : Asp.net Core جاوا اسکریپت

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3827
هوش مصنوعی

پاسخ هوش مصنوعی

برای تقسیم بندی زمان در بازه های دلخواه با استفاده از جاوااسکریپت، می توانید کدی به شکل زیر بنویسید:


function generateTimeSlots(startHour, startMinute, endHour, endMinute, interval) {
    let times = [];
    let current = new Date();
    current.setHours(startHour, startMinute, 0, 0);

    let end = new Date();
    end.setHours(endHour, endMinute, 0, 0);

    while (current <= end) {
        times.push(current.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }));
        current.setMinutes(current.getMinutes() + interval);
    }
    return times;
}

let timeSlots = generateTimeSlots(11, 5, 12, 0, 5);
timeSlots.forEach(time => {
    document.body.innerHTML += `

${time}

`; });

این کد ابتدا با استفاده از تابع generateTimeSlots زمان ها را در بازه 11:05 تا 12:00 به فواصل 5 دقیقه ای تولید می کند و سپس آن ها را در HTML نمایش می دهد.

اگر به دنبال پیاده سازی مشابه در C# و ASP.NET Core هستید، می توانید از کد زیر استفاده کنید:


public List GenerateTimeSlots(int startHour, int startMinute, int endHour, int endMinute, int interval)
{
    var times = new List();
    var current = new DateTime(1, 1, 1, startHour, startMinute, 0);

    var end = new DateTime(1, 1, 1, endHour, endMinute, 0);

    while (current <= end)
    {
        times.Add(current.ToString("hh:mm tt"));
        current = current.AddMinutes(interval);
    }
    return times;
}

برای نمایش زمان ها در HTML، می توانید از View در ASP.NET Core استفاده کنید و فهرست تولید شده را به صورت خودکار و غیر دستی در صفحه قرار دهید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 07:59 1400/03/12

اگر هدف شما نمایش این اطلاعات هست خب اصولا سی شارپ یا Asp.net Core برای بحث BackEnd هستند و برای نمایش اطلاعات به کاربر نیستند. دقیقا هدف شما رو نمیدونم چی هست ولی شما میتونید خیلی راحت توسط دستورات Html اگر پروژه شما وب هست این حالت رو نمایش بدید.

<input type="radio" id="t1" name="time" value="t1">
<label>11 : 00</label>
<br>
<input type="radio" id="t2" name="time" value="t2">
<label>11 : 05</label>
<br>
<input type="radio" id="t3" name="time" value="t3">
<label>11 : 10</label>
<br>
...

خب شما در بالا هر زمانی رو به صورت یک radio Button نمایش میدید که قابل انتخاب هم هست.

 

اگر هم هدفتون این هست که یک بازه زمانی رو مشخص کنید و اون رو 5 دقیقه 5 دقیقه بشکونید می تونید توسط دستورات سی شارپ این کار رو انجام بدید :

TimeSpan ts = TimeSpan.Parse("11:00");

int minutes = ts.Minutes * 5;

البته دستور بالا یک دستور خام هست. یعنی برای استفاده در پروژه باید تغییر بدید. چون منظور شما واضح مشخص نیست در همین حد میشه راهنمایی کرد.

به این پاسخ امتیاز بدهید    0
امتیاز: 1635 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود