简体   繁体   中英

Display business opening hours in 12 hour format (9am - 6pm) instead of 24 hours

My goal is to display my business opening hours and also indicating when we are closed.

View an example of what i want on codepen . But this is in 24 hours format. I need help with converting the javascript to display the date in 12 hours format.

Below is the javascript that display the opening hours in 24 hours.

jQuery(document).ready(function($){

        var currentDate = new Date();
        var weekday = [];
        weekday[0] = "Sunday";
        weekday[1] = "Monday";
        weekday[2] = "Tuesday";
        weekday[3] = "Wednesday";
        weekday[4] = "Thursday";
        weekday[5] = "Friday";
        weekday[6] = "Saturday";

        var currentDay = weekday[currentDate.getDay()];

        var currentTimeHours = currentDate.getHours();
        currentTimeHours = currentTimeHours < 10 ? "0" + currentTimeHours : currentTimeHours;
        var currentTimeMinutes = currentDate.getMinutes();
        var timeNow = currentTimeHours + "" + currentTimeMinutes;

        var currentDayID = "#" + currentDay; //gets todays weekday and turns it into id
        $(currentDayID).toggleClass("today"); //this works at hightlighting today

        var openTimeSplit = $(currentDayID).children('.opens').text().split(":");

        var openTimeHours = openTimeSplit[0];
        openTimeHours = openTimeHours < 10 ? "0" + openTimeHours : openTimeHours;

        var openTimeMinutes = openTimeSplit[1];
        var openTimex = openTimeSplit[0] + openTimeSplit[1];

        var closeTimeSplit = $(currentDayID).children('.closes').text().split(":");

        var closeTimeHours = closeTimeSplit[0];
        closeTimeHours = closeTimeHours < 10 ? "0" + closeTimeHours : closeTimeHours;

        var closeTimeMinutes = closeTimeSplit[1];
        var closeTimex = closeTimeSplit[0] + closeTimeSplit[1];

        if (timeNow >= openTimex && timeNow <= closeTimex) {
            $(".openorclosed").toggleClass("open");
        } else {
            $(".openorclosed").toggleClass("closed");
        }
}); 

You can view the working example in 24hours format on codepen

Thanks in advance for your help and time!

 var currentTimeHours = currentDate.getHours(); currentTimeHours = currentTimeHours < 10 ? "0" + currentTimeHours : currentTimeHours; var currentTimeMinutes = currentDate.getMinutes(); var timeNow = currentTimeHours + "" + currentTimeMinutes; Replace the above code by var currentTimeHours = currentDate.getHours(); var currentTimeMinutes = currentDate.getMinutes(); var timeNow = currentTimeHours % 12 + ':' + currentTimeMinutes + ':'+ (currentTimeHours < 12 ? 'AM':'PM'); 

 var openTimeHours = openTimeSplit[0]; openTimeHours = openTimeHours < 10 ? "0" + openTimeHours : openTimeHours; var openTimeMinutes = openTimeSplit[1]; var openTimex = openTimeSplit[0] + openTimeSplit[1]; Replace with the bellow codes var openTimeHours = parseInt(openTimeSplit[0]); var openTimeMinutes = openTimeSplit[1]; var openTimex = openTimeHours % 12 + ':' + openTimeMinutes + ':' + (openTimeHours < 12 ?'AM':'PM'); 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM