Я не получаю точный MySQL формат времени по умолчанию в JavaScript 00:00:00

0

Я пробовал много способов распечатать формат времени по умолчанию MySQL (0000-00-00 00:00:00) в JavaScript. любая помощь будет высоко оценена.

Спасибо

Теги:
datetime
date
format

1 ответ

0
Лучший ответ

вы можете разбить дату в строке date и time и использовать как.

var date = '2017-12-11';
var time = '11:20:05';
var yourDateString = new Date(date + "T" + time+"Z");
console.log(yourDateString);
console.log(date2str(yourDateString,''));

function date2str(x, y) {
var z = {
    YR: x.getFullYear(),
    M: x.getMonth() + 1,
    d: x.getDate(),
    h: x.getHours(),
    m: x.getMinutes(),
    s: x.getSeconds()
};

{
      var now = new Date();
      var timeOpt = {hour:'2-digit', hour12:true, minute:'2-digit'};
      var monthOpt = {day:'numeric', month:'short'};
      var fullOpt = {day:'numeric', month:'short', year:'2-digit'};
      if ( ((now - x) < 8.64e7) && (now.getDate() == z.d) ) {
          var timeFragements = x.toLocaleString().toLowerCase();
          if(null == timeFragements.match(/(\d+:\d+:\d+)+/)){
              return x.toLocaleString("en-US", timeOpt).toLowerCase();
          }
          timeFragements =(timeFragements.match(/(\d+:\d+:\d+)+/)[0])
          //Calculation of Am /Pm.
          var hours = x.getHours();
          var amPmStr = hours >= 12 ? ' pm' : ' am';
          if(timeFragements.split(':')[0]<12){
              return (("0" + timeFragements.split(':')[0]).slice(-2) +':'+ ("0" + timeFragements.split(':')[1]).slice(-2) + amPmStr );
          }else if(timeFragements.split(':')[0]== 12){
               return (("0" + (timeFragements.split(':')[0]) ).slice(-2) +':'+ ("0" + timeFragements.split(':')[1]).slice(-2) + amPmStr );
          }else{
              return (("0" + (timeFragements.split(':')[0]-12) ).slice(-2) +':'+ ("0" + timeFragements.split(':')[1]).slice(-2) + amPmStr );
          }
      } else if (  (now.getFullYear() == x.getFullYear()) && (now.getMonth() == x.getMonth()) ) {
         return ("" + x.toDateString().split(' ')[1])+" "+("0" + x.getDate().toString()).slice(-2);
      }else if( (now.getFullYear() == x.getFullYear()) && (now.getMonth() != x.getMonth())){
          return ("" + x.toDateString().split(' ')[1])+" "+("0" + x.getDate().toString()).slice(-2);
      }else if(now.getFullYear() !== x.getFullYear()){
          return x.toUTCString().split(',')[1].slice(0, 12);
      }

}

}
  • 0
    Не делайте new Date(date + "T" + time+"Z") . «0000-00-00T00: 00: 00Z» - это не то же самое, что «0000-00-00 00:00:00». Первый - UTC, второй - местный.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню