Функция времени в JS - PullRequest
       3

Функция времени в JS

1 голос
/ 14 июля 2020

Я пытаюсь создать функцию JS, скрывающую элемент HTML до 11:00 с понедельника по пятницу и после 15:00:00 с понедельника по пятницу и скрыть элемент весь день в субботу и& воскресенье . Вот что у меня есть на данный момент. Я думаю, что добираюсь туда, но Время очень сложно. Что мне здесь не хватает? Спасибо !!

jQuery(function() {
/* your code here */
// days of the week
 var d = new Date();
 var weekday = new Array(7);
 weekday[0] = "Sunday";
 weekday[1] = "Monday";
 weekday[2] = "Tuesday";
 weekday[3] = "Wednesday";
 weekday[4] = "Thursday";
 weekday[5] = "Friday";
 weekday[6] = "Saturday";

 var n = weekday[d.getDay()];

// Gather Time
var startTime = "11:00:00 AM";
var endTime = "03:00:00 PM"
var hour   = d.getHours();
var minute = d.getMinutes();
var second = d.getSeconds();
var ap = "AM";
if (hour   > 11) { ap = "PM";             }
if (hour   > 12) { hour = hour - 12;      }
if (hour   == 0) { hour = 12;             }
if (hour   < 10) { hour   = "0" + hour;   }
if (minute < 10) { minute = "0" + minute; }
if (second < 10) { second = "0" + second; }
var currentTime = hour + ':' + minute + ':' + second + " " + ap;  
 
if(n == "Monday" || n == "Tuesday" || n == "Wednesday" || n == "Thursday" || n == "Friday")  {
 if(startTime > currentTime && currentTime < endTime){
jQuery( "div.rpress_fooditem[data-term-id='2']" ).css({"display":"none"});
}}
else
 jQuery( "div.rpress_fooditem[data-term-id='2']" ).css({"display":"block"});
 alert("other day");


 return currentTime;
});

Ответы [ 2 ]

1 голос
/ 14 июля 2020

Вы сравниваете строки, решая, не являются ли даты фактическими ...

var startTime = "11:00:00 AM";
var endTime = "03:00:00 PM"
var currentTime = hour + ':' + minute + ':' + second + " " + ap;
if(startTime > currentTime && currentTime < endTime)

ОБНОВЛЕНИЕ

Я бы использовал Date, тогда я бы изменил часы и минуты соответственно для startDate и для endDate и для currentTime заводил ничего не меняю. Надеюсь, это имеет смысл.

ОБНОВЛЕНИЕ 2

Реальный вопрос в том, на какой Дате мы работаем? Делаем ли мы это в UT C или это зависит от часового пояса пользователя (взято из браузера). Если ответ «основан на часовом поясе», то я посоветую вам использовать библиотеку, например moment js или что-то в этом роде, потому что из-за изменения «летнего времени», которое может меняться сверхурочно, вам нужна библиотека, которая обновляет эту информацию. Я не буду вдаваться в подробности об этом, вы можете повторно изучить, в чем проблема на самом деле, в Google.

0 голосов
/ 21 июля 2020

Итак, я смог выяснить, вместо этого, используя 12-часовой формат, я использую вместо этого 24-часовой формат и конвертирую в строку, и он отлично работает! Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...