以这个为例: 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());
下面附上全部代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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>