首页 > 代码库 > js时间操作
js时间操作
var myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)(要加1)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); // 获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); // 获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间
设置时间的方法:
setYear() //改变年份
转换时间的方法:
toGMTString() 把Date对象的日期(一个数值)转变成一个GMT时间字符串,返回类似下面的值:Weds,14 May 2007 10:02:02 GMT(精确的格式依赖于计算机上所运行的操作系统而变) toLocaleString() 把Date对象的日期(一个数值)转变成一个字符串,使用所在计算机上配置使用的特定日期格式 UTC() 使用Date UTC(年、月、日、时、分、秒),以自从1997年1月1日00:00:00(其中时、分、秒是可选的)以来的毫秒数的形式返回日期
1、当前系统区域设置格式(toLocaleDateString和toLocaleTimeString)
例子:(new Date()).toLocaleDateString() + " " + (new Date()).toLocaleTimeString()
结果: 2008年1月29日 16:13:11
2.普通字符串(toDateString和toTimeString)
例子: (new Date()).toDateString() + " " + (new Date()).toTimeString()
结果:Tue Jan 29 2008 16:13:11 UTC+0800
3.格林威治标准时间(toGMTString)
例子: (new Date()).toGMTString()
结果:Tue, 29 Jan 2008 08:13:11 UTC
4.全球标准时间(toUTCString)
例子: (new Date()).toUTCString()
结果:Tue, 29 Jan 2008 08:13:11 UTC
5.Date对象字符串(toString)
例子: (new Date()).toString()
结果:Tue Jan 29 16:13:11 UTC+0800 2008
几个需要注意的地方:
1、得到日期和年和设置日期和年时间,其中很怪的问题就是不能对月份进行设置(比较的怪):
<script type="text/javascript" language="javascript">//d = new Date();alert(d.toLocaleString());
d.setDate(14);
alert(d.toLocaleString());
d.setYear(2007);
alert(d.toLocaleString());
</script>
2、获得年的时候最好用getFullYear()方法来做 3、由于针对月份,JS是从0开始的,因此需要对月份进
行操作时要加1 下面是几个关于时间的经典而且经常会用到的例子,对大家会有帮助的: 1、将2005-8
-5转换成2005-08-05格式
<script type="text/javascript" language="javascript">
//
var strDate = ‘2005-8-5‘;
window.alert(strDate.replace(/\b(\w)\b/g, ‘0$1‘));
</script>
2、得到间隔天数 <script type="text/javascript">//&amp;lt;!-- alert("间隔天数为:"+(new Date(‘2005/8/15‘)-new Date(‘2003/9/18‘))/1000/60/60/24+"天") //</script>
3、得到间隔时间 <script type="text/javascript">//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 type="text/javascript" language="javascript">//d = new Date(); alert(d.getFullYear()+"年"+(d.getMonth()+1)+"月"+d.getDate()+"日"); //</script>
6、得到前N天或后 N天的日期 方法1: <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>
方法 2: <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>
方法 3: <script type="text/javascript" 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>