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());
下面附上全部代码:
<!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>
源代码
date 格式化的更多相关文章
- PHP date 格式化一个本地时间/日期
PHP date 格式化一个本地时间/日期 date (PHP 4, PHP 5) date — 格式化一个本地时间/日期 说明 string date ( string $format [, int ...
- javascript 的Date 格式化, 模仿shell中date命令的格式
原文:javascript 的Date 格式化, 模仿shell中date命令的格式 shell 中显示当前的日期 [root@localhost]$ date '+%Y-%m-%d %H:%M:%S ...
- spring boot 2 返回Date 格式化问题
以前 返回数据把Date 转成 long的时间毫秒数.现在是格式化成了字符串. 默认的结果:"createDate": "2018-09-06T10:04:25.000 ...
- java之Date(日期)、Date格式化、Calendar(日历)
参考http://how2j.cn/k/date/date-date/346.html Date(日期) Date类 注意:是java.util.Date; 而非 java.sql.Date,此类是给 ...
- Safari中的new Date()格式化坑
今天在测试的时候发现,在Chrome中的如下代码: new Date("2014-03-09"); 在Safari中报错invalid date.经过查阅资料找到类似的问答: st ...
- date格式化
Linux: [ghsea@localhost ~]date +%Y:%m:%d [ghsea@localhost ~]date +%Y-%m%d [ghsea@localhost ~]date +% ...
- groovy Date 格式化
刚开始使用Java,瞬间爱上:换了个厂接触到了groovy,开始有点嫌弃Java了... 看看时间的格式化 java玩法: new SimpleDateFormat("yyyy-MM-dd ...
- js 时间date格式化
js中没有类似java中的DateFormat类来处理日期格式化,可以自己写一个: var newDate=new Date(); var year=newDate.getFullYear(); va ...
- Js日期函数Date格式化扩展
prototype是向对象中添加属性和方法,返回对象类型原型的引用,例如对js中日期函数Date进行扩展: Date.prototype.Format = function (fmt) { var o ...
- linux shell date格式化配置
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
随机推荐
- 关于大XML文件与大节点处理(System.Xml.XmlTextReader)
近期有个任务要求处理大XML文件,其中有个存了Base64的大节点(>90M,路径已知). 这种任务只能上XmlReader,即使如此大节点的处理还是头疼了一阵…… 最初查MSDN的时候,找到了 ...
- 【剑指Offer】53、表示数值的字符串
题目描述: 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100", "5e2", "-123",&q ...
- 【剑指Offer】22、从上往下打印二叉树
题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 解题思路: 本题实际上就是二叉树的层次遍历,深度遍历可以用递归或者栈,而层次遍历很明显应该使用队列.同样我们可以通过 ...
- 利用perf排查sys高的问题
思路 perf top perf record -C 44,48,60,63 -g -o a.data perf report -i a.data --call-graph 查看调用链,可以确定,基本 ...
- 绝对好用的浏览器json解析网址
你们是否经常在浏览器输入请求地址解析遇到中文乱码的情况,今天我找到了一个好用的浏览器解析json网址,绝对好用. 1.直接输入网址 http://pro.jsonlint.com/ 2.输入要解析的j ...
- apache下部署showdoc
1. 安装apache2服务器sudo apt-get install apache2 2. 安装php环境 sudo apt-get install php7.1 libapache2-mod-ph ...
- windows 禁用 magic mouse2 左右移动
相信大部分程序员同志,只要用macbook都回装双系统的,本人也不例外,因为需要用到vs等很多开发工具. magic mouse2在osx上的表现本人不做评论,没用过几回,在win10上的表现太差劲了 ...
- 【Mail.Ru Cup 2018 Round 2 C】 Lucky Days
[链接] 我是链接,点我呀:) [题意] [题解] 题解的作者: manish_joshi 对于任意一个k 因为那条直线(关于x,y的方程可以看出一条直线)的斜率>= 所以肯定会经过第一象限. ...
- fzu 2138
//假设n个人每个人都做对了两道题,那么要想获奖人数最少的话,那么做题数目肯定最多即全做对的,中间可能会小于零那么没有获奖的 #include<stdio.h> int main() { ...
- [bzoj1212][HNOI2004]L语言_AC自动机_动态规划
L语言 bzoj-1212 HNOI-2004 题目大意:给你一个n个单词的集合,然后给你m条字符串.问每条字符串可以被理解的最长前缀.被理解当且仅当存在一种分割使得每一段都是集合里的元素. 注释:$ ...