JavaScript实现字符串与日期的互相转换及日期的格式化

前端技术 2023/09/02 JavaScript

字符串转日期、日期转字符串

// 2014-02-25 
 
/** 
   * 字符串转时间(yyyy-MM-dd HH:mm:ss) 
   * result (分钟) 
   */  
  stringToDate : function(fDate){  
    var fullDate = fDate.split(\"-\");  
    
    return new Date(fullDate[0], fullDate[1]-1, fullDate[2], 0, 0, 0);  
  } 
 
 
/** 
     * 格式化日期 
     * @param date 日期 
     * @param format 格式化样式,例如yyyy-MM-dd HH:mm:ss E 
     * @return 格式化后的金额 
     */ 
    formatDate : function (date, format) { 
      var v = \"\"; 
      if (typeof date == \"string\" || typeof date != \"object\") { 
        return; 
      } 
      var year  = date.getFullYear(); 
      var month  = date.getMonth()+1; 
      var day   = date.getDate(); 
      var hour  = date.getHours(); 
      var minute = date.getMinutes(); 
      var second = date.getSeconds(); 
      var weekDay = date.getDay(); 
      var ms   = date.getMilliseconds(); 
      var weekDayString = \"\"; 
       
      if (weekDay == 1) { 
        weekDayString = \"星期一\"; 
      } else if (weekDay == 2) { 
        weekDayString = \"星期二\"; 
      } else if (weekDay == 3) { 
        weekDayString = \"星期三\"; 
      } else if (weekDay == 4) { 
        weekDayString = \"星期四\"; 
      } else if (weekDay == 5) { 
        weekDayString = \"星期五\"; 
      } else if (weekDay == 6) { 
        weekDayString = \"星期六\"; 
      } else if (weekDay == 7) { 
        weekDayString = \"星期日\"; 
      } 
 
      v = format; 
      //Year 
      v = v.replace(/yyyy/g, year); 
      v = v.replace(/YYYY/g, year); 
      v = v.replace(/yy/g, (year+\"\").substring(2,4)); 
      v = v.replace(/YY/g, (year+\"\").substring(2,4)); 
 
      //Month 
      var monthStr = (\"0\"+month); 
      v = v.replace(/MM/g, monthStr.substring(monthStr.length-2)); 
 
      //Day 
      var dayStr = (\"0\"+day); 
      v = v.replace(/dd/g, dayStr.substring(dayStr.length-2)); 
 
      //hour 
      var hourStr = (\"0\"+hour); 
      v = v.replace(/HH/g, hourStr.substring(hourStr.length-2)); 
      v = v.replace(/hh/g, hourStr.substring(hourStr.length-2)); 
 
      //minute 
      var minuteStr = (\"0\"+minute); 
      v = v.replace(/mm/g, minuteStr.substring(minuteStr.length-2)); 
 
      //Millisecond 
      v = v.replace(/sss/g, ms); 
      v = v.replace(/SSS/g, ms); 
       
      //second 
      var secondStr = (\"0\"+second); 
      v = v.replace(/ss/g, secondStr.substring(secondStr.length-2)); 
      v = v.replace(/SS/g, secondStr.substring(secondStr.length-2)); 
       
      //weekDay 
      v = v.replace(/E/g, weekDayString); 
      return v; 
    } 
 

// dateValue=2014-02-28 
var cDate = _STAGE.stringToDate(dateValue); 
cDate.setDate(cDate.getDate()+1); 
currentDate = jAnXin.util.formatDate(cDate, \"yyyy-MM-dd\"); 
 
console.log(currentDate ); // 2014-03-01 

正则替换日期并格式化日期

转数字型:

ar ttDate = \"2013年12月20日 14:20:20\"; 
ttDate = ttDate.replace(/[^0-9]/mg, \'\').match(/.{8}/); 
alert(ttDate);

结果:

20131220 

 转日期型:

var ttDate = \"2013年12月20日 14:20:20\";  
ttDate = ttDate.match(/\\d{4}.\\d{1,2}.\\d{1,2}/mg).toString();  
ttDate = ttDate.replace(/[^0-9]/mg, \'-\');  
alert(ttDate); 

结果:

2013-12-20 

 超级正则替换:

var ttDate = \"2013年12月20日 14:20:20\";  

ttDate = ttDate.replace(/(\\d{4}).(\\d{1,2}).(\\d{1,2}).+/mg, \'$1-$2-$3\'); 
alert(ttDate); 

结果:

2013-12-20 

本文地址:https://www.stayed.cn/item/5892

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。