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 
(0)

相关推荐

  • js字符串日期yyyy-MM-dd转化为date示例代码

    最近遇到一个问题,就是获取表单中的日期往后台通过json方式传的时候,遇到Date.parse(str)函数在ff下报错: NAN 找了些资料,发现是由于Date.parse()函数对日期格式有要求:详细参考 Date.parse函数 对于js操作日期: 创建一个日期对象: var objDate=new Date([arguments list]); 参数形式有以下5种: 复制代码 代码如下: view plainnew Date("month dd,yyyy hh:mm:ss");

  • js获取日期:昨天今天和明天、后天

    复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="textml; charset=utf-8"> <title>js获取日期:前天.昨天.今天.明天.后天 - Liehuo.Net</title> </head> <body> <script language="JavaScript&q

  • js时间戳格式化成日期格式的多种方法

    js需要把时间戳转为为普通格式,一般的情况下可能用不到的, 下面先来看第一种吧 复制代码 代码如下: function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' '); } alert(getLocalTime(1293072805)); 结果是 2010年12月23日 10:53 第二种 复制代码 代码如下: function getLocalTi

  • 日期 时间js控件

    复制代码 代码如下: <script language="JavaScript"> /**//** *本日历选择控件由tiannet根据前人经验完善而得.大部分代码来自meizz的日历控件. *tiannet添加了时间选择功能.select,object标签隐藏功能,还有其它小功能. *使用方法: * (1)只选择日期 <input type="text" name="date" readOnly onClick="s

  • Js 获取当前日期时间及其它操作实现代码

    myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours();

  • js显示当前日期时间和星期几

    JavaScript获取当前日期时间同时显示星期几,具体代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="/jquery/1.7.0/jquery.min.js"></scr

  • js判断两个日期是否相等的方法

    例如: 复制代码 代码如下: var date1 = new Date("2013-11-29");var date2 = new Date("2013-11-29");console.log(date1 == date2); //false 这里,date1和date2看上去是一样的,但是运行 date1 == date2 返回的却是false.这是因为date1.date2都是对象,类型为引用类型,所以如果需要比较他们,需要去比较他们的字面量值,而不是单纯的用

  • JS 日期比较大小的简单实例

    1,比较日期大小的js代码 复制代码 代码如下: <script>var beginDate=$("#beginDate").val();   var endDate=$("#endDate").val();   var d1 = new Date(beginDate.replace(/\-/g, "\/"));   var d2 = new Date(endDate.replace(/\-/g, "\/"));

  • JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】

    本文实例讲述了JS获取日期的方法.分享给大家供大家参考,具体如下: 原理很简单,一天的时间的毫秒数是1000*60*60*24, 前n天的日期就是现在日期换成毫秒-n*1000*60*60*24. 再把这个值换成日期即可(通过setTime方法) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> &l

  • JS 日期操作代码,获取当前日期,加一天,减一天

    title $ = function(o) { return typeof o === 'string' ? document.getElementById(o) : o }; //设置当前日期 var ma = [['1','3','5','7','8','10'],['4','6','9','11']]; var dd = new Date(); var x = dd.toLocaleString(); var o = pasDate(x); $('date').value = o.join

  • javaScript 计算两个日期的天数相差(示例代码)

    一:计算两个日期相差的天数 比如:   str1  =  "2002-01-20"   str2  =  "2002-10-11"  怎样用javaScript计算出str1与str2之间相差的天数?  复制代码 代码如下: <html>  <head>  <meta  http-equiv="Content-Type"  content="text/html;  charset=gb2312"&

  • js 日期字符串截取分割成单个具体的日期(2009-12-30 13:28:29)

    var time='2009-12-30 13:28:29'; alert(time); var year=time.substr(0,4); alert(year); var index1=time.indexOf("-"); var index2=time.lastIndexOf("-"); var cha=parseInt(index2)-(parseInt(index1)+1); var month=time.substr((parseInt(index1)

随机推荐