date 格式化

以这个为例:    yyyy-MM-dd HH:mm:ss

首先得写好你需要的模板

options.sign = options.sign || 'yyyy-MM-dd HH:mm:ss';

其次就可以调用日期函数了(这里的月一定要+1,因为默认是从0开始的)

var d = new Date();
var year = d.getFullYear();
var month = d.getMonth()+1;
var day = d.getDate();
var hours = d.getHours();
var minutes = d.getMinutes();
var second = d.getSeconds();

然后把得到的日期与模板结合起来,就大功告成了,(这里用到了replace  把模板里的日期给替换掉

var result = options.sign;
result = result.replace('yyyy', year);
result = result.replace('MM', month);
result = result.replace('dd', day);
result = result.replace('HH', hours);
result = result.replace('mm', minutes);
result = result.replace('ss', second);

return result;

其实写完可以自己优化一下,自己好好想想,比如:2017-2-1 9:2:8  --> 2017-02-01 09:02:08 等。

  这样自己可以写一个函数来过滤一下:这就用到一些小知识点,比如三目运算符,有时候会帮大忙,所以基础还是要打好的。

var _complete = function(n){
  return (n>9) ? n : '0' + n;
}

  

函数简单的封装好了。怎么用呢,看下面的代码,很简单,比如获取hours的时候。过滤一遍就好啦。

var hours =  _complete(d.getHours());

下面附上全部代码:

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>日期时间</title>
 6     </head>
 7     <body>
 8     </body>
 9 </html>
10 <script type="text/javascript">
11     //yyyy-MM-dd
12     var getDateFormat = function(options){
13         options = options || {};
14         options.sign = options.sign || 'yyyy-MM-dd HH:mm:ss';
15     
16         var _complete = function(n){
17             return (n>9) ? n : '0' + n;
18         }
19         
20         var d = new Date();
21         var year = d.getFullYear();
22         var month = _complete(d.getMonth()+1);
23         var day =  _complete(d.getDate());
24         var hours =  _complete(d.getHours());
25         var minutes =  _complete(d.getMinutes());
26         var second =  _complete(d.getSeconds());
27         
28         
29         var result = options.sign;
30         result = result.replace('yyyy', year);
31         result = result.replace('MM', month);
32         result = result.replace('dd', day);
33         result = result.replace('HH', hours);
34         result = result.replace('mm', minutes);
35         result = result.replace('ss', second);
36 
37         return result;
38     }
39     console.log(getDateFormat());
40 </script>
源代码
原文地址:https://www.cnblogs.com/xianxianxxx/p/6400764.html