【问题标题】:I'm not getting exact mysql default time format in javascript 0000-00-00 00:00:00我没有在 javascript 0000-00-00 00:00:00 中得到准确的 mysql 默认时间格式
【发布时间】:2017-12-11 08:11:36
【问题描述】:

我尝试了很多方法来在 JavaScript 中打印出 MySQL 默认日期时间 (0000-00-00 00:00:00) 格式。任何帮助将不胜感激。

谢谢

【问题讨论】:

  • I've tried many ways - 展示你的最佳尝试
  • new Date().toISOString(); 应该这样做

标签: javascript mysql date datetime format


【解决方案1】:

您可以在 datetime 字符串中拆分日期并用作 .

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);
      }

}

}

【讨论】:

  • 不要做new Date(date + "T" + time+"Z")。 “0000-00-00T00:00:00Z”与“0000-00-00 00:00:00”不同。第一个是 UTC,第二个是本地。
猜你喜欢
  • 1970-01-01
  • 2011-06-27
  • 2016-06-04
  • 2012-03-16
  • 1970-01-01
  • 2013-07-12
  • 1970-01-01
  • 1970-01-01
  • 2014-02-19
相关资源
最近更新 更多