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 无法通过W3C验证的处理方法
Mar 09 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
Dec 04 Javascript
jquery div拖动效果示例代码
Dec 08 Javascript
使用text方法获取Html元素文本信息示例
Sep 01 Javascript
PHP中使用微秒计算脚本执行时间例子
Nov 19 Javascript
jQuery实现设置、移除文本框默认值功能
Jan 13 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
Mar 10 Javascript
简单谈谈javascript中的变量、作用域和内存问题
Aug 30 Javascript
javascript数组去重常用方法实例分析
Apr 11 Javascript
vue-router路由懒加载和权限控制详解
Dec 13 Javascript
Swiper自定义分页器使用详解
Dec 28 Javascript
layui实现鼠标移动到单元格上显示数据的方法
Sep 11 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
这部好评如潮的动漫 知名梗频出 但是画风劝退很多人
2020/03/08 日漫
php数据库密码的找回的步骤
2011/01/12 PHP
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
2011/05/04 PHP
PHP的explode和implode的使用说明
2011/07/17 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
2018/08/24 Javascript
深入浅析js原型链和vue构造函数
2018/10/25 Javascript
Vue指令指令大全
2019/02/09 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
js时间转换毫秒的实例代码
2019/08/21 Javascript
vue自定义标签和单页面多路由的实现代码
2020/05/03 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python 中文字符串的处理实现代码
2009/10/25 Python
Python lambda和Python def区别分析
2014/11/30 Python
在Heroku云平台上部署Python的Django框架的教程
2015/04/20 Python
基于python实现简单日历
2018/07/28 Python
Python 的字典(Dict)是如何存储的
2019/07/05 Python
Django模板Templates使用方法详解
2019/07/19 Python
python3实现微型的web服务器
2019/09/03 Python
python3 webp转gif格式的实现示例
2019/12/10 Python
Python3.9新特性详解
2020/10/10 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
2020/11/06 Python
html5手机端页面可以向右滑动导致样式受影响的问题
2018/06/20 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
项目经理聘任书
2014/03/29 职场文书
服务承诺书格式
2014/05/21 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
承诺书范本大全
2015/05/04 职场文书
大学班长竞选稿
2015/11/20 职场文书
Nginx 根据URL带的参数转发的实现
2021/04/01 Servers
Python读取文件夹下的所有文件实例代码
2021/04/02 Python
对Golang中的FORM相关字段理解
2021/05/02 Golang
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL