javascript日期操作详解(脚本之家整理)


Posted in Javascript onSeptember 05, 2015

它是一个内置对象——而不是其它对象的属性,允许用户执行各种使用日期和时间的过程。

方法:分为得到时间方法、设置时间方法和转换时间方法

得到时间方法:

getDate() 查看Date对象并返回日期

getDay() 返回星期几

getHours() 返回小时数

getMinutes() 返回分钟数

getMonth() 返回月份值

getSeconds() 返回秒数

getTime() 返回完整的时间

getYear() 返回年份

js中的日期时间函数具体使用注意事项: 月份获取的时候会-1. 例如当前是12月份,获取的数字就是11

var date = new Date();
date.getYear();        //获取年份(2位)
date.getFullYear();    //获取完整的年份(4位,1970-)
date.getMonth();       //获取月份(0-11,0代表1月,所以在显示当前时间的时候需要date.getMonth() + 1)
date.getDate();        //获取日(1-31)
date.getDay();         //获取星期?(0-6,0代表星期天)
date.getTime();        //获取时间(从1970.1.1开始的毫秒数)
date.getHours();       //获取小时数(0-23)
date.getMinutes();     //获取分钟数(0-59)
date.getSeconds();     //获取秒数(0-59)
date.getMilliseconds();    //获取毫秒数(0-999)
date.toLocaleString();        //获取日期与时间

设置时间方法:

setDate() 改变Date对象的日期

setHours() 改变小时数

setMinutes() 改变分钟数

setMonth() 改变月份

setSeconds() 改变秒数

setTime() 改变完整的时间

setYear() 改变年份

转换时间方法:

toGMTString() 把Date对象的日期(一个数值)转变成一个GMT时间字符串,返回类似下面的值:Weds,15 June l997 14:02:02 GMT(精确的格式依赖于计算机上所运行的操作系统而变)

toLocaleString() 把Date对象的日期(一个数值)转变成一个字符串,使用所在计算机上配置使用的特定日期格式

UTC() 使用Date UTC(年、月、日、时、分、秒),以自从1970年1月1日00:00:00(其中时、分、秒是可选的)以来的毫秒数的形式返回日期

几个需要注意的地方:

最重要的一点就是考虑到多浏览器的兼容性。需要按如下格式获取日期比较好

var timestart = '2015-09-05'; 
var timeend = '2015-09-06';
var time1 = (timestart+' 00:00:00').toString();
var time2 = (timeend+' 23:59:59').toString();
timestart = new Date(Date.parse(time1.replace(/-/g,"/"))).getTime();
timeend = new Date(Date.parse(time2.replace(/-/g,"/"))).getTime();

三水点靠木小编为大家提供一个刚写的,在某一个时间段才显示的广告代码

<script type="text/javascript">
var timestart = '2015-09-05'; 
var timeend = '2015-09-06';
var time1 = (timestart+' 16:00:00').toString(); 
var time2 = (timeend+' 16:00:00').toString(); 
timestart = new Date(Date.parse(time1.replace(/-/g,"/"))).getTime(); 
timeend = new Date(Date.parse(time2.replace(/-/g,"/"))).getTime();
var nowtime=new Date().getTime();
if (nowtime>timestart && nowtime<timeend)
{
document.write("广告");
}
</script>

1、得到日期和年和设置日期和年时间,其中很怪的问题就是不能对月份进行设置(比较的怪):

<script language="javascript"> 
d = new Date(); 
alert(d.toLocaleString()); 
d.setDate(25); 
alert(d.toLocaleString()); 
d.setYear(2000); 
alert(d.toLocaleString()); 
</script>

2、获得年的时候最好用getFullYear()方法来做
3、由于针对月份,JS是从0开始的,因此需要对月份进行操作时要加1

下面是几个关于时间的经典而且经常会用到的例子,希望对大家会有提高的。谢谢继续关注该帖子。。。

1、将2005-8-5转换成2005-08-05格式

<script language="javascript"> 
var strDate = '2005-8-5'; 
window.alert(strDate.replace(/\b(\w)\b/g, '0$1')); 
</script>

2、得到间隔天数

<script type="text/javascript"> 
<!-- 
alert("间隔天数为:"+(new Date('2005/8/15')-new Date('2003/9/18'))/1000/60/60/24+"天") 
//--> 
</script>

3、得到间隔时间

<script> 
var d1=new Date("2004/09/16 20:08:00"); 
var d2=new Date("2004/09/16 10:18:03"); 
var d3=d1-d2; 
var h=Math.floor(d3/3600000); 
var m=Math.floor((d3-h*3600000)/60000); 
var s=(d3-h*3600000-m*60000)/1000; 
alert("相差"+h+"小时"+m+"分"+s+"秒"); 
</script>

4、得到今天的日期

<script language="javascript"> 
d = new Date(); 
alert(d.getFullYear()+"年"+(d.getMonth()+1)+"月"+d.getDate()+"日"); 
</script>

6、数字日期转汉字

<html> 
<head> 
<title> New Document </title> 
</head>
<body> 
<script language=javascript> 
Date.prototype.getRead = function() 
{ 
var values = new Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九"); 
var returnValue, temp; 
returnValue = this.getYear()+"年"; 
temp = (this.getMonth()+1)+"月"+this.getDate()+"日"; 
temp = temp.replace(/(\d)(\d)/g,"$1十$2").replace(/1十/g,"十").replace(/十0/g,"十"); 
returnValue += temp; 
returnValue = returnValue.replace(/\d/g, function(sts){return values[parseInt(sts)]}); 
return returnValue; 
} 
var t=new Date(); 
document.write(t.getRead()); 
</script> 
</body> 
</html>

7、得到前N天或后N天的日期

方法一:

<script type="text/javascript"> 
function showdate(n) 
{ 
var uom = new Date(new Date()-0+n*86400000); 
uom = uom.getFullYear() + "-" + (uom.getMonth()+1) + "-" + uom.getDate(); 
return uom; 
} 

window.alert("今天是:"+showdate(0)); 
window.alert("昨天是:"+showdate(-1)); 
window.alert("明天是:"+showdate(1)); 
window.alert("10天前是:"+showdate(-10)); 
window.alert("5天后是:"+showdate(5)); 
</script>

方法二:

<script type="text/javascript"> 
function showdate(n) 
{ 
var uom = new Date(); 
uom.setDate(uom.getDate()+n); 
uom = uom.getFullYear() + "-" + (uom.getMonth()+1) + "-" + uom.getDate(); 
return uom; 
} 

window.alert("今天是:"+showdate(0)); 
window.alert("昨天是:"+showdate(-1)); 
window.alert("明天是:"+showdate(1)); 
window.alert("10天前是:"+showdate(-10)); 
window.alert("5天后是:"+showdate(5)); 
</script>

方法三(不好意思,这个用vsscript做的,仅作为学习使用,不建议网页中使用,毕竟 IE only):

<script language="vbscript"> 
function showdate(n) 
showdate=dateadd("d",date(),n) 
end function 
msgbox "今天是:"&showdate(0) 
msgbox "昨天是:"&showdate(-1) 
msgbox "明天是:"&showdate(1) 
msgbox "十天前是:"&showdate(-10) 
msgbox "五天后是:"&showdate(5) 
</script>

方法四:

<script language="Javascript"> 
Date.prototype.getDays=function(){ 
var _newDate=new Date(); 
_newDate.setMonth(_newDate.getMonth()+1); 
_newDate.setDate(0); 
$_days=_newDate.getDate(); 
delete _newDate; 
return $_days; 
} 
function showdate(n) 
{ 
var uom = new Date(); 
uom.setDate(uom.getDate()+n); 
uom = uom.getFullYear() + "-" + (uom.getMonth()+1) + "-" + uom.getDate()+"\n星期"+('天一二三四五六'.charAt(uom.getDay()))+"\n本月有"+ uom.getDays()+"天"; 
return uom; 
} 

window.alert("今天是:"+showdate(0)); 
window.alert("昨天是:"+showdate(-1)); 
window.alert("明天是:"+showdate(1)); 
window.alert("10天前是:"+showdate(-10)); 
window.alert("5天后是:"+showdate(5)); 
</script>
Javascript 相关文章推荐
仅用[]()+!等符号就足以实现几乎任意Javascript代码
Mar 01 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
Apr 27 Javascript
jquery滚动条插件jScrollPane的使用介绍
Nov 08 Javascript
jquery 通过name快速取值示例
Jan 24 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
Jun 12 Javascript
简单学习vue指令directive
Nov 03 Javascript
原生JS和jQuery操作DOM对比总结
Jan 19 Javascript
vue Render中slots的使用的实例代码
Jul 19 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
Dec 11 Javascript
Vue中的验证登录状态的实现方法
Mar 09 Javascript
Vue性能优化的方法
Jul 30 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
Sep 04 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
Sep 05 #Javascript
js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
Sep 05 #Javascript
javascript 判断两个日期之差的示例代码
Sep 05 #Javascript
js实现图片放大和拖拽特效代码分享
Sep 05 #Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
Sep 05 #Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
Sep 04 #Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
Sep 04 #Javascript
You might like
php检测文本的编码
2015/07/26 PHP
php删除数组指定元素实现代码
2017/05/03 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
jQuery 使用个人心得
2009/02/26 Javascript
JQuery 小练习(实例代码)
2009/08/07 Javascript
Javascript解决常见浏览器兼容问题的12种方法
2010/01/04 Javascript
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
JS链式调用的实现方法
2013/03/07 Javascript
JS小功能(offsetLeft实现图片滚动效果)实例代码
2013/11/28 Javascript
JavaScript判断用户是否对表单进行了修改的方法
2015/03/18 Javascript
js代码实现随机颜色的小方块
2015/07/30 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
jQuery使用DataTable实现删除数据后重新加载功能
2017/02/27 Javascript
Angular实现下拉框模糊查询功能示例
2018/01/03 Javascript
使用taro开发微信小程序遇到的坑总结
2019/04/08 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
解决Vue的项目使用Element ui 走马灯无法实现的问题
2020/08/03 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
python算法题 链表反转详解
2019/07/02 Python
python elasticsearch环境搭建详解
2019/09/02 Python
Python实现我的世界小游戏源代码
2021/03/02 Python
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
微信营销策划方案
2014/02/24 职场文书
机电系毕业生求职信
2014/07/11 职场文书
学习三严三实心得体会
2014/10/13 职场文书
毕业论文致谢格式模板
2015/05/14 职场文书
学校教代会开幕词
2016/03/04 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP
MySQL CHAR和VARCHAR该如何选择
2021/05/31 MySQL
python 爬取吉首大学网站成绩单
2021/06/02 Python
Python OpenCV实现图像模板匹配详解
2022/04/07 Python