精华内容
下载资源
问答
  • new Date() 日期格式处理

    万次阅读 多人点赞 2017-12-25 16:09:16
    console.log("result:"+toHDate(new Date().getTime()/1000).replace(/\:\d\d$/,'')); function toHDate(sec) { var d=new Date(); d.setTime(parseInt(sec)*1000); var str=d.getFullYear()+"-"+numForm

    Date 对象常用API

    var myDate = new Date();  
    myDate.getYear(); //获取当前年份(2位)  
    myDate.getFullYear(); //获取完整的年份(4位,1970-????)  
    myDate.getMonth(); //获取当前月份(0-11,0代表1月) 所以获取当前月份是 myDate.getMonth()+1;   
    myDate.getDate(); //获取当前日(1-31)  
    myDate.getDay(); //获取当前星期X(0-6,0代表星期天)  
    myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)  
    myDate.getHours(); //获取当前小时数(0-23)  
    myDate.getMinutes(); //获取当前分钟数(0-59)  
    myDate.getSeconds(); //获取当前秒数(0-59)  
    myDate.getMilliseconds(); //获取当前毫秒数(0-999)  
    myDate.toLocaleDateString(); //获取当前日期  
    var mytime = myDate.toLocaleTimeString(); //获取当前时间  
    myDate.toLocaleString( ); //获取日期与时间  
    

    JS获取当前时间戳的方法:

    Date.parse(new Date()); // 不推荐; 毫秒改成了000显示  
    new Date().valueOf();
    new Date().getTime();
    +new Date().getTime();
    

    js中单独调用 new Date(); 显示这种格式Fri Aug 28 2020 11:03:24 GMT+0800 (中国标准时间)
    但是用 new Date() 参与计算会自动转换为从 1970.1.1 开始的毫秒数

    将字符串形式的日期转换成日期对象:

    var strTime="2011-04-16"; // 字符串日期格式             
    var date= new Date(Date.parse(strTime.replace(/-/g,  "/"))); // 转换成 Data();  
      
    new Date(); // 参数可以为整数; 也可以为字符串; 但格式必须正确  
    new Date(2009,1,1);
    new Date("2009/1/1");
    new Date("2009-1-1"); 
      
    new Date( year, month, date, hrs, min, sec)  // 按给定的参数创建一日期对象   
    

    1.日期格式转为日期标准字符串:2015-03-19

    var formatDate = function (date) {  
        var y = date.getFullYear();  
        var m = date.getMonth() + 1;  
        m = m < 10 ? '0' + m : m;  
        var d = date.getDate();  
        d = d < 10 ? ('0' + d) : d;  
        return y + '-' + m + '-' + d;  
    };  
    

    2.js方法返回值:2015-03-19 12:00:00

    var formatDateTime = function (date) {  
                    var y = date.getFullYear();  
                    var m = date.getMonth() + 1;  
                    m = m < 10 ? ('0' + m) : m;  
                    var d = date.getDate();  
                    d = d < 10 ? ('0' + d) : d;  
                    var h = date.getHours();  
                    h=h < 10 ? ('0' + h) : h;  
                    var minute = date.getMinutes();  
                    minute = minute < 10 ? ('0' + minute) : minute;  
                    var second=date.getSeconds();  
                    second=second < 10 ? ('0' + second) : second;  
                    return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;  
                };  
    

    3.时间戳转为日期格式

    //时间戳转日期格式  
          var formatDateTime3 = function(time, format){  
              var t = new Date(time);  
              var tf = function(i){return (i < 10 ? '0' : '') + i};  
              return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function(a){  
                  switch(a){  
                      case 'yyyy':  
                          return tf(t.getFullYear());  
                          break;  
                      case 'MM':  
                          return tf(t.getMonth() + 1);  
                          break;  
                      case 'mm':  
                          return tf(t.getMinutes());  
                          break;  
                      case 'dd':  
                          return tf(t.getDate());  
                          break;  
                      case 'HH':  
                          return tf(t.getHours());  
                          break;  
                      case 'ss':  
                          return tf(t.getSeconds());  
                          break;  
                  }  
              })  
          };  
    

    4.时间格式字符串转为时间戳(毫秒)

    var time1=2016-01-01 17:22:37’;  
    var date=new Date(time1.replace(/-/g, '/'));  //开始时间  
    var time2=date.getTime();  
    

    如何将2015-03-12 12:00 转换成标准时间()?

    // 调用:parserDate("2015-03-19 12::00:00")
    var parserDate = function (date) {  
        var t = Date.parse(date);  
        if (!isNaN(t)) {  
            return new Date(Date.parse(date.replace(/-/g, "/")));  
        } else {  
            return new Date();  
        }  
    }; 
    

    转自不忘初心:http://blog.csdn.net/tomcat_2014/article/details/50514979

    补充:
    写一个vue plugin 用于格式化日期时间:

    export function prefixZero (num, n) {
        return (Array(n).join(0) + num).slice(-n);
    } 
    
    /**
     * @param {String | Number} date 当前时间
     * @param {String} format 格式化格式
     *
     * usage:
     *	dateFormatter('2011/1/12 12:12:22', 'yyyy-MM-dd HH:mm:ss')
     * 	dateFormatter(1294805542000, 'yyyy-MM-dd HH:mm:ss')
     */
    export function dateFormatter (date, format) {
      const t = new Date(date)
      console.log(t)
      if (t.toString() === 'Invalid Date') { return 'invalid date' }
      return format.replace(/yyyy|MM|M|WW|W|ww|w|dd|d|HH|H|hh|h|mm|m|ss|s|A|a/g, function(a){  
        switch(a){  
          case 'yyyy': // 年 2011
            return prefixZero(t.getFullYear(), 4);
          case 'MM': 	// 月 01
            return prefixZero(t.getMonth() + 1, 2);
          case 'M': 	// 月 1
            return t.getMonth() + 1;
          case 'WW': 	// 周 01
            return prefixZero(t.getDay(), 2);
          case 'W': 	// 周 1
            return t.getDay();
          case 'ww': 	// 周 星期一
            return "星期" + "日一二三四五六".charAt(t.getDay());
          case 'w': 	// 周 周一
            return "周" + "日一二三四五六".charAt(t.getDay());
          case 'dd': 	// 日 02
            return prefixZero(t.getDate(), 2);
          case 'd': 	// 日 2
            return prefixZero(t.getDate(), 2);
          case 'HH':  // 小时 24小时制 03
            return prefixZero(t.getHours(), 2);
          case 'H':  	// 小时 24小时制 3
            return prefixZero(t.getHours(), 2);
          case 'hh':  // 小时 12小时制 03
            return prefixZero(t.getHours() % 12, 2);
          case 'h':  	// 小时 12小时制 3
            return prefixZero(t.getHours() % 12, 2);
          case 'mm':  // 分钟 04
            return prefixZero(t.getMinutes(), 2);
          case 'm':  	// 分钟 4
            return t.getMinutes();
          case 'ss':  // 秒 05
            return prefixZero(t.getSeconds(), 2);
          case 's':  	// 秒 5
            return t.getSeconds();
          case 'A':  
            return t.getHours() < 12 ? 'AM' : 'PM';
          case 'a':  
            return t.getHours() < 12 ? 'am' : 'pm'; 
        }  
      })  
    }
    
    const dateFormat = {
      install: function (vue) {
        vue.prototype.$dateFormatter = dateFormatter
        vue.filter('date', dateFormatter)
      }
    }
    export default dateFormat
    
    展开全文
  • new Date() 日期格式处理

    new Date() 日期格式处理

    汇总一下new Date().getxxx/setxxx的方法输出,简述一些注意点:

    • new Date(param)param可以有几种格式,有浏览器通用的年月日时分秒的格式,但也会有IE,safari可能不兼容的格式,报错invalid date,需要了解的可以看这篇文章 解决js new Date()的浏览器兼容性问题
    • getYear()方法返回的是年份的后两位,但这是1970-1999年才是两位,2000-???则一直加上去,会出现三位以上的返回,2000就是100,依次类推…
    • getMonth()返回的是0-11的数值,0是一月Jan,所以输出的时候需要注意+1;同理getDay()返回0-6,0代表星期日Sun;
    • getTime()返回的是1970.1.1开始到现在的毫秒数,同理valueof()也是一样的,注意Date.parse(new Date()返回的也是毫秒数,但会将后三位读取为0,不建议使用;
    • 对于不存在的日期格式,就如new Date(yyyy,mth,dd,hh,mm,ss)中除了yyyy之外其他如果超过其取值范围的话,会像其’上级’进制,如ss(0-59)如果写着65,那就用65减去 [区间位60],的05并像其’上级’,mm进一位,表达不好可以看例子…
            /*
            * js中单独调用new Date();  显示这种格式  Wed Jul 31 2019 13:20:09 GMT+0800 (中国标准时间)
            * 但是用new Date() 参与计算会自动转换为从1970.1.1开始的毫秒数
            */
            var current_date = new Date(); // Wed Jan 24 2019 13:20:09 GMT+0800 (中国标准时间)
            var before_date = new Date("1991/2/25 11:59:05"); // Mon Feb 25 1991 11:59:05 GMT+0800 (中国标准时间)
            var demo_date = new Date(667454345000); // Mon Feb 25 1991 11:59:05 GMT+0800 (中国标准时间)
            // 对于输入超过取值范围的参数,实行上级进位制
            var error_date = new Date(2018,13,25,13,56,08);
            var error_date1 = new Date(2018,1,30,13,56,08);
            console.log(error_date); // mth(0-11) 区间位12  Mon Feb 25 2019 13:56:08 GMT+0800
            console.log(error_date1); // dd(闰年1-29|平年1-28) 2018区间位28 Fri Mar 02 2018 13:56:08 GMT+0800
            ---------------------------------------------------------------------------------------
    
            // getxxx获取的数值number格式:
            before_date.getYear(); //  91   1970-1999获取当前年份(2位) 
            current_date.getYear(); //  119   2000-????获取3位以上就是一直算上去 2000年刚好为100
            before_date.getFullYear(); //  1991  获取完整的年份(4位,1970-????)  
            before_date.getMonth(); //  1  获取当前月份(0-11,0代表1月),所以获取当前月份是before_date.getMonth()+1;   
            before_date.getDate(); //  25  获取当前日(1-31)  
            before_date.getDay(); //  1  获取当前星期X(0-6,0代表星期天)  
            before_date.getTime(); // 667454345000  获取当前时间(从1970.1.1开始的毫秒数) 
            before_date.valueOf(); // 667554345000 同上
            before_date.getHours(); // 11  获取当前小时数(0-23)  
            before_date.getMinutes(); //   59  获取当前分钟数(0-59)  
            before_date.getSeconds(); //  5   获取当前秒数(0-59)  
            current_date.getMilliseconds(); // 获取当前毫秒数(0-999)
            ----------------------------------------------------------------------------------------
            // 设置setxxx
            setDate() // 设置 Date 对象中月的某一天 (1 ~ 31)
    		setMonth() // 设置 Date 对象中月份 (0 ~ 11)
    		setFullYear() // 设置 Date 对象中的年份(四位数字)
    		setFullYear() // setYear()方法已经淘汰
    		setHours() // 设置 Date 对象中的小时 (0 ~ 23)
    		setMinutes() // 设置 Date 对象中的分钟 (0 ~ 59)
    		setSeconds() // 设置 Date 对象中的秒钟 (0 ~ 59)
    		setMilliseconds() // 设置 Date 对象中的毫秒 (0 ~ 999)
    		setTime() // 以毫秒设置 Date 对象
    		setUTCDate() // 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)
    		setUTCMonth() // 根据世界时设置 Date 对象中的月份 (0 ~ 11)
    		setUTCFullYear() // 根据世界时设置 Date 对象中的年份(四位数字)
    		setUTCHours() // 根据世界时设置 Date 对象中的小时 (0 ~ 23)
    		setUTCMinutes() // 根据世界时设置 Date 对象中的分钟 (0 ~ 59)
    		setUTCSeconds() // 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)
    		setUTCMilliseconds() // 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)
    

    汇总一下new Date().toxxx/toLocalexxx的方法输出,简述一些注意点:

    • toDateString/toTimeString || toLocaleDateString/toLocaleTimeString两者的输出文本格式有所差异,且后者新增的参数 locales 和 options 使程序能够指定使用哪种语言格式化规则
    • toGMTString、toUTCString两者在定义上只是名字有所差异,其实GMT在时间数值上是接近UTC的,具体可以看这篇文章 GMT与UTC,他们输出的格式一样,是标准时间
    • toLocaleString方法在不同浏览器输出的文本格式不同,我们可以自定义一个统一的输出
     // 返回字符串string格式:
            current_date.toLocaleDateString(); // yyyy/MM/dd  获取当前日期  
            current_date.toLocaleTimeString(); // (上午/下午) hh:mm:ss  获取当前时间
            current_date.toLocaleString( ); // 获取日期与时间 
    //  ————————————————————————————————–————————————————————————————————–
    // 1、当前系统区域设置格式(toLocaleDateString和toLocaleTimeString)
    
         例子:(new Date()).toLocaleDateString() + " " + (new Date()).toLocaleTimeString()
         结果: 200812916:13:11
    
    // 2.普通字符串(toDateString和toTimeString)
    
         例子: (new Date()).toDateString() + " " + (new Date()).toTimeString()
         结果:Tue Jan 29 2008 16:13:11 UTC+0800
    
    // 3.格林威治标准时间(toGMTString)
    
         例子: (new Date()).toGMTString()
         结果:Tue, 29 Jan 2008 08:13:11 UTC
    
    // 4.全球标准时间(toUTCString)
    
         例子: (new Date()).toUTCString()
         结果:Tue, 29 Jan 2008 08:13:11 UTC
    
    // 5.Date对象字符串(toString)
    
         例子: (new Date()).toString()
         结果:Tue Jan 29 16:13:11 UTC+0800 2008
    
    // ————————————————————————————————–————————————————————————————————–
    

    针对toLocaleString的自定义输出方法

    
            /** 关于toLocaleString返回的文本格式
             *  在主流浏览器谷歌、火狐输出的文本格式为"yyyy/MM/dd (上午/下午)hh:mm:ss",
             *  在IE返回格式"yyyy/MM/dd (星期几) (上午/下午)hh:mm:ss"
             *  所以我们现在自定义一个返回格式方法
             */
             function setTimeType(){
                 var current_time = new Date();
                 var current_time_hours = current_time.getHours();
                 var current_time_minutes = current_time.getMinutes();
                 var current_time_seconds = current_time.getSeconds();
                 cth = matchZero(current_time_hours);
                 ctm = matchZero(current_time_minutes);
                 cts = matchZero(current_time_seconds);
    
                 return current_time.getFullYear() + "/" + (current_time.getMonth() + 1) + "/" + current_time.getDate() +
                 " " + tranWeek() + " " + cth + ":" + ctm + ":" + cts;
             }
             function matchZero(num){
                if(num < 10){
                    return "0" + num;
                }
                return num;
             }
             function tranWeek(){
                 var current_time = new Date();
                 var week = current_time.getDay();
                 switch(week){
                     case 0: return "周日"; 
                     case 1: return "周一"; 
                     case 2: return "周二"; 
                     case 3: return "周三"; 
                     case 4: return "周四"; 
                     case 5: return "周五";
                     case 6: return "周六";
                     break;
                 }
             }
             var time = setTimeType();
             console.log("time",time);
    

    toLocaleString自定义方法测试结果

    time 2019/8/1 周四 05:56:53
    

    本文原创,转载请注明出处,如果发现写的有问题欢迎指正
    https://blog.csdn.net/Umbrella_Um/article/details/97844312

    参考资料文章:
    https://www.cnblogs.com/xiaoshujiang/p/5518462.html
    http://blog.csdn.net/tomcat_2014/article/details/50514979

    展开全文
  • safari new data()时间格式问题

    千次阅读 2017-01-04 21:40:51
    很多时候我们看到的时间格式是下面这样的 var mydate="2017-01-01 00:00:00"; 用这样一个字符串可以通过new date()转化为一个时间对象 alert(new Date(mydate))  但是在safari和ie浏览器下却得到invalid date ...
    很多时候我们看到的时间格式是下面这样的
    var mydate="2017-01-01 00:00:00";
    用这样一个字符串可以通过new date()转化为一个时间对象
    alert(new Date(mydate)) 
    但是在safari和ie浏览器下却得到invalid date

    如果只写年月日不写时分秒
    var mydate="2017-01-01";
    IE下没有问题了,但是safari还是invalid date

    如果在年月日和时分秒之间加一个"T"
    var mydate="2017-01-01T00:00:00";
    IE下没有问题了,但是safari还是invalid date

    一个最简单的办法就是把"-"改成"/";
    var mydate="2017/01/01 00:00:00";
    alert(new Date(mydate)) 
    这样在所有浏览器下得到的值都是正确的了

    展开全文
  • js new Date 时间格式

    千次阅读 2019-10-17 16:17:56
    new Date() //没有任何参数,创建的对象自动获取当前日期 new Date(1535610732881); //如果我们想要根据特定的日期和时间创建日期对象,则传入表示日期的毫秒数; 为了简化获取毫秒数 es提供了两个方法 Date.parse() ...

    一直想写一篇关于js 日期类型date的文章

    我们都知道

    new Date() //没有任何参数,创建的对象自动获取当前日期
    new Date(1535610732881); //如果我们想要根据特定的日期和时间创建日期对象,则传入表示日期的毫秒数;
    为了简化获取毫秒数 es提供了两个方法 Date.parse() 和 Date.UTC()

    //Date.parse()接收一个表示日期的字符串参数,然后根据这个字符串返回相应的毫秒数
    new Date(Date.parse(“6/13/2018”)); // “月/日/年” : “1/13/2018”
    new Date(Date.parse(“January 13,2018”)); // “英文月名 日,年” : “January 13,2018”
    new Date(Date.parse(“Tue May 25 2018 18:00:00 GMT-0700”)); // “英文星期几 英文月名 日 年 时:分:秒 时区” : “Tue May 25 2018 18:00:00 GMT-0700”
    new Date(Date.parse(“2018-06-25T00:00:00.123”)); // es5: YYYY-MM-DDTHH:mm:ss.sssZ : “2018-06-25T00:00:00”
    //上面的Date.parse()可以省略 js后台默认会调用 Date.parse()
    new Date(“6/13/2018”);
    new Date(“January 13,2018”);
    new Date(“Tue May 25 2018 18:00:00 GMT-0700”);
    new Date(“2018-06-25T00:00:00.123”);
    //Date.UTC()同样是返回日期的毫秒数
    //参数分别为 年份 基于 0 的月份 月中的哪一天 小时 分钟 秒。 这些参数只有前两个是必须的
    new Date(Date.UTC(2018,6))
    new Date(Date.UTC(2018,6,18,17,30,33));
    //同样的Date.UTC()可以省略 js后台默认会调用 Date.UTC()
    es5提供了 Date.now()方法,返回当前时间的毫秒数。
    关于date对象其他的方法(例如:new Date.valueOf(),new Date.getTime())这里就不多介绍了

    关于根据特定日期创建日期对象还有其他的一些写法,但兼容上有待验证,例如:

    new Date(“yyyy/MM/dd hh:mm:ss”);
    new Date(“yyyy/MM/dd”);
    new Date(yyyy,MM,dd);

    展开全文
  • new Date() 转化格式

    千次阅读 2019-04-13 22:24:47
    最近后台需要的日期格式new data() 不太一样 自己转化了一下 比较简单 适合小白 var date = new Date(); //日期对象 var now = ""; now = date.getFullYear()+"-"; //读英文就行了 now = now + (date.getMonth()+1...
  • Java 时间格式 new Date()

    万次阅读 2015-08-06 13:50:53
    主要是记录下自己在项目中使用new Date();过程中遇到过的坑。
  • new Date()日期格式处理

    万次阅读 多人点赞 2018-05-09 21:30:08
    项目开发中遇到的格式问题: const strTime="2018-1-1 9:10:10"; const myDate new Date(strTime); const Y = myDate.getFullYear(); const M = myDate.getMonth()+1; const D = myDate.getDate(); ...
  • js new Date() 格式

    千次阅读 2017-10-17 14:18:48
    new Date() 得到日期的进行格式显示扩展,扩展方法如下: Date.prototype.Format = function (fmt) { //author: meizz   var o = {  "M+": this.getMonth() + 1, //月份   "d+": this.
  • new Date() 日期格式的转换

    千次阅读 2019-10-08 14:42:55
    let date = new Date(); date.getFullYear(); // 获取年份 格式1970年 date.getMonth(); //获取当前年的月份 月份要 + 1 (0代表1月)date.getMonth() + 1 date.getDate(); //获取当前日(...
  • new Date() 获取指定格式时间戳

    万次阅读 2019-06-04 16:17:30
    new Date() 得到日期的进行格式显示扩展,扩展方法如下: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个...
  • new Date处理日期格式及兼容浏览器问题在前端处理日期格式问题,需要写日期格式的函数 //日期格式化 Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份...
  • JS中new Date()日期格式处理

    万次阅读 2019-08-05 15:27:03
    var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) // 所以获取当前月份...
  • 今天在写项目的时候需要...1.将new Date()返回的时间格式转为本地时间格式 返回当前对应本地时间 new Date().toLocaleString() 返回指定对应本地时间 例: var date = ‘Tue Aug 27 2019 16:03:47 GMT+0800 (中国标...
  • firefox 不兼容new date()格式化日期

    万次阅读 2013-01-04 15:09:37
    昨天在用JS格式化日期时发现,firefox中解析 new date(2012/12-23) 不兼容,提示invalid date 无效的日期 Chrome下可以直接将其格式化成日期格式,且时分秒默认为零。 但firefox 不兼容 firefox 需要传入六个...
  • 日期格式new Date().format

    千次阅读 2020-03-27 22:11:52
    需求:项目开发中,后端返回的日期以yyyy-MM-dd格式显示。 前端处理代码: new Date().format('yyyy-MM-dd') 但报错 查找相关资料,原生js和jquery都不能直接用new Date().format(‘yyyy-MM-dd’)。 解决方法一:...
  • js new Date()格式化日期年月日

    千次阅读 2020-11-28 20:57:31
    var arr = new Array(); // 创建一个数组对象 var obj = new Object(); // 创建了一个对象实例 // 1. 使用Date 如果没有参数 返回当前系统的当前时间 var date = new Date(); console.log(date);//Sat Nov 28 ...
  • ios系统中js的new Date的格式问题

    千次阅读 2016-07-28 13:51:13
    前段时间做项目时,发现在ios系统下,js中去new Date的时,传入参数带有"-",如:2016-01-01,则会返回NaN。 最后在网上查了查资料,发现不支持这用日期格式,把"-"改为"/"则能够返回正常的值。 具体原因还不太...
  • Safari中new Date()格式化问题总结

    千次阅读 2017-01-12 11:40:55
    最近发现new Date()格式化在Chrome显示正常,但是在Safari中就有问题,在网上搜集资料,发现有三种解决办法,整理如下: 第一,用正则表达式做简单的匹配有两种方式: 1. 如果只有个别JS文件,建议采用这种方式 ...
  • 遇到了这个为题,调试了才找到问题的所在,然后在网上找了资料才知道这个问题的原因,来是因为IOS系统不支持2018-08-30这样的格式的时间导致的, let olddata ='2018-08-30 11:00:00'; let mydata=new Date(old...
  • 原文出处:... 例:2018-12-28 15:00:00 1. var newDate = new Date("2018-12-28 15:00:00") 这种获取的时间在安卓手机上显示是正常的,在苹果手机上显示NaN 2. var newDate...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,731,205
精华内容 692,482
关键字:

new格式