首页 > 编程 > JavaScript > 正文

js date 格式化

2019-11-19 17:34:21
字体:
来源:转载
供稿:网友

以这个为例:    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());

下面附上全部代码:

<!DOCTYPE html><html> <head>  <meta charset="UTF-8">  <title>日期时间</title> </head> <body> </body></html><script type="text/javascript"> //yyyy-MM-dd var getDateFormat = function(options){  options = options || {};  options.sign = options.sign || 'yyyy-MM-dd HH:mm:ss';  var _complete = function(n){   return (n>9) ? n : '0' + n;  }  var d = new Date();  var year = d.getFullYear();  var month = _complete(d.getMonth()+1);  var day = _complete(d.getDate());  var hours = _complete(d.getHours());  var minutes = _complete(d.getMinutes());  var second = _complete(d.getSeconds());  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; } console.log(getDateFormat());</script>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持武林网!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表