js获取日期:昨天今天和明天、后天


Posted in Javascript onJune 11, 2014
<html> 
<head> 
<meta http-equiv="Content-Type" content="textml; charset=utf-8"> 
<title>js获取日期:前天、昨天、今天、明天、后天 - Liehuo.Net</title> 
</head> <body> 
<script language="JavaScript" type="text/javascript"> 
function GetDateStr(AddDayCount) { 
var dd = new Date(); 
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期 
var y = dd.getFullYear(); 
var m = dd.getMonth()+1;//获取当前月份的日期 
var d = dd.getDate(); 
return y+"-"+m+"-"+d; 
} 
document.write("前天:"+GetDateStr(-2)); 
document.write("<br />昨天:"+GetDateStr(-1)); 
document.write("<br />今天:"+GetDateStr(0)); 
document.write("<br />明天:"+GetDateStr(1)); 
document.write("<br />后天:"+GetDateStr(2)); 
document.write("<br />大后天:"+GetDateStr(3)); 
</script> 
</body> 
<ml>

其中有一种方法是:Date.parse(dateVal),此函数功能强大,但是有个致命的缺点,那就是不支持我们常用的“年-月-日”格式,短日期可以使用“/”或“-”作为日期分隔符,但是必须用月/日/年的格式来表示,例如"7/20/96"。

另一种方法是使用 split,比如:

var dtStr = "2006-11-25"; 
var dtArr = dtStr.split("-"); 
var dt = new Date(dtArr[0], dtArr[1], dtArr[2]);

但这种方法较为死板,要求固定的日期格式,只有在没有办法的情况下才用。

如果我们可以将年月日拆分开,就尽量将其拆开,比如 ASP 分别输出年月日。然后用 new Date 来处理,返回的便是日期类型。

日期格式化

<script language="javascript" type="text/javascript"><!-- 
/** 
* 对Date的扩展,将 Date 转化为指定格式的String 
* 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符 
* 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) 
* eg: 
* (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 
* (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04 
* (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04 
* (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04 
* (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 
*/ 
Date.prototype.pattern=function(fmt) { 
var o = { 
"M+" : this.getMonth()+1, //月份 
"d+" : this.getDate(), //日 
"h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时 
"H+" : this.getHours(), //小时 
"m+" : this.getMinutes(), //分 
"s+" : this.getSeconds(), //秒 
"q+" : Math.floor((this.getMonth()+3)/3), //季度 
"S" : this.getMilliseconds() //毫秒 
}; 
var week = { 
"0" : "\u65e5", 
"1" : "\u4e00", 
"2" : "\u4e8c", 
"3" : "\u4e09", 
"4" : "\u56db", 
"5" : "\u4e94", 
"6" : "\u516d" 
}; 
if(/(y+)/.test(fmt)){ 
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
} 
if(/(E+)/.test(fmt)){ 
fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "\u661f\u671f" : "\u5468") : "")+week[this.getDay()+""]); 
} 
for(var k in o){ 
if(new RegExp("("+ k +")").test(fmt)){ 
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); 
} 
} 
return fmt; 
} var date = new Date(); 
window.alert(date.pattern("yyyy-MM-dd hh:mm:ss")); 
// --></script>
Javascript 相关文章推荐
js小技巧--自动隐藏红叉叉
Aug 13 Javascript
js中typeof的用法汇总
Dec 12 Javascript
jQuery $.extend()用法总结
Jun 15 Javascript
jQuery实现跨域
Feb 03 Javascript
JS操作HTML自定义属性的方法
Feb 10 Javascript
百度地图自定义控件分享
Mar 04 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
Jan 06 Javascript
Ajax基础知识详解
Feb 17 Javascript
js中this对象用法分析
Jan 05 Javascript
webpack项目轻松混用css module的方法
Jun 12 Javascript
jQuery操作cookie的示例代码
Jun 05 jQuery
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
Apr 07 Javascript
js使用栈来实现10进制转8进制与取除数及余数
Jun 11 #Javascript
删除javascript中注释语句的正则表达式
Jun 11 #Javascript
Jquery自定义button按钮的几种方法
Jun 11 #Javascript
教你用jquery实现iframe自适应高度
Jun 11 #Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
Jun 11 #Javascript
控制文字内容的显示与隐藏示例
Jun 11 #Javascript
用js一次改变多个input的readonly属性值的方法
Jun 11 #Javascript
You might like
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
理解JavaScript中的事件
2006/09/23 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
jquery实现仿新浪微博评论滚动效果
2015/08/06 Javascript
图解JavaScript中的this关键字
2020/05/28 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
聊聊JS动画库 Velocity.js的使用
2018/03/13 Javascript
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
5分钟学会Vue动画效果(小结)
2018/07/21 Javascript
vue项目使用微信公众号支付总结及遇到的坑
2018/10/23 Javascript
vue-router beforeEach跳转路由验证用户登录状态
2018/12/26 Javascript
JS实现简易留言板特效
2019/12/23 Javascript
使用webpack和rollup打包组件库的方法
2021/02/25 Javascript
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python的Flask框架中实现分页功能的教程
2015/04/20 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
Python中Django 后台自定义表单控件
2017/03/28 Python
Django如何实现上传图片功能
2019/08/16 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
Staples加拿大官方网站:办公用品一站式采购
2016/09/25 全球购物
公司出纳岗位职责
2013/12/07 职场文书
应届毕业生应聘自荐信范文
2014/02/26 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
开国大典观后感
2015/06/04 职场文书
2016银行求职自荐信
2016/01/28 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
MySQL优化之如何写出高质量sql语句
2021/05/17 MySQL
SQL Server Agent 服务无法启动
2022/04/20 SQL Server
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS