Permalink
Browse files

add stdlib/Date

  • Loading branch information...
1 parent f5c6986 commit 80ca32e932e2fa6af4a254d73a4111084845d0b1 @ruanyf committed Mar 9, 2013
Showing with 221 additions and 7 deletions.
  1. +3 −1 _config.yml
  2. +7 −3 index.md
  3. +208 −0 stdlib/date.md
  4. +1 −1 {grammar → stdlib}/json.md
  5. +1 −1 {grammar → stdlib}/math.md
  6. +1 −1 {grammar → stdlib}/regex.md
View
4 _config.yml
@@ -1,11 +1,12 @@
markdown: rdiscount
pygments: true
permalink: none
-sitename: JavaScript 标准教程
+sitename: JavaScript 标准教程(alpha)
chapters:
- introduction
- grammar
+- stdlib
- oop
- dom
- bom
@@ -19,6 +20,7 @@ chapters:
introduction: 导论
grammar: 基本语法
+stdlib: 标准库
oop: 面向对象编程
dom: DOM
bom: 浏览器对象
View
10 index.md
@@ -19,11 +19,15 @@ modifiedOn: 2013-03-02
- [对象](grammar/object.html)
- [数组](grammar/array.html)
- [函数](grammar/function.html)
-- [Math对象](grammar/math.html)
-- [Regex对象](grammar/regex.html)
-- [JSON格式](grammar/json.html)
- [严格模式](grammar/strict.html)
+<h2 id="stdlib">标准库</h2>
+
+- [Math对象](stdlib/math.html)
+- [Date对象](stdlib/date.html)
+- [Regex对象](stdlib/regex.html)
+- [JSON格式](stdlib/json.html)
+
<h2 id="oop">面向对象编程</h2>
- [概述](oop/basic.html)
View
208 stdlib/date.md
@@ -0,0 +1,208 @@
+---
+title: Date对象
+layout: page
+category: stdlib
+date: 2013-03-09
+modifiedOn: 2013-03-09
+---
+
+## 概述
+
+直接调用Date对象,会返回当前时间的字符串。
+
+{% highlight javascript %}
+
+Date()
+// "Sat Mar 09 2013 08:46:54 GMT+0800 (CST)"
+
+{% endhighlight %}
+
+对Date对象使用new命令,则生成一个代表时间的实例对象。如果不提供参数,生成的就是代表当前时间的对象。
+
+{% highlight javascript %}
+
+var today = new Date();
+
+today
+// "Sat Mar 09 2013 08:46:54 GMT+0800 (CST)"
+
+{% endhighlight %}
+
+如果提供参数,则生成一个代表指定时间的对象。
+
+{% highlight javascript %}
+
+var date1 = new Date ( "January 6, 2013" );
+
+date1
+// "Sun Jan 06 2013 00:00:00 GMT+0800 (CST)"
+
+{% endhighlight %}
+
+## Date对象的参数
+
+Date对象接受各种代表日期的字符串。
+
+(1)YYYY-MM-DD
+
+{% highlight javascript %}
+
+new Date ( "2013-02-15" )
+// Fri Feb 15 2013 08:00:00 GMT+0800 (CST)
+
+{% endhighlight %}
+
+(2)YYYY-MMM-DD
+
+MMM表示月份的三位英语缩写,从1月到12月分别为"JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"。
+
+{% highlight javascript %}
+
+new Date ( "2013-FEB-15" )
+// Fri Feb 15 2013 08:00:00 GMT+0800 (CST)
+
+{% endhighlight %}
+
+## 实例对象的方法
+
+### toString,toDateString
+
+toString方法,返回一个完整的时间字符串。
+
+{% highlight javascript %}
+
+var today = new Date();
+
+today.toString()
+// "Sat Mar 09 2013 08:46:54 GMT+0800 (CST)"
+
+{% endhighlight %}
+
+因为toString是默认的调用方法,所以上面的命令相当于
+
+{% highlight javascript %}
+
+today
+// "Sat Mar 09 2013 08:46:54 GMT+0800 (CST)"
+
+{% endhighlight %}
+
+toDateString方法返回一个更可读的日期形式。
+
+{% highlight javascript %}
+
+today.toDateString()
+// "Sat Mar 09 2013"
+
+{% endhighlight %}
+
+### valueOf,getTime
+
+valueOf方法和getTime方法都返回实例对象对应的Unix时间戳。
+
+{% highlight javascript %}
+
+var today = new Date();
+
+today.valueOf()
+// 1362790014817
+
+today.getTime()
+// 1362790014817
+
+{% endhighlight %}
+
+### getDate,getMonth和getFullYear
+
+getDate方法返回实例对象对应的是每个月的几号(从1开始)。
+
+{% highlight javascript %}
+
+var date1 = new Date ( "January 6, 2013" );
+
+date1.getDate()
+// 6
+
+{% endhighlight %}
+
+getMonth方法返回实例对象对应的是第几个月(从0开始)。
+
+{% highlight javascript %}
+
+date1.getMonth()
+// 0
+
+{% endhighlight %}
+
+getFullYear方法返回实例对象对应的四位数年份。
+
+{% highlight javascript %}
+
+date1.getFullYear()
+// 2013
+
+{% endhighlight %}
+
+### setDate,setMonth
+
+setDate方法用来改变实例对象对应的每个月的几号(从1开始),返回改变后的Unix时间戳。
+
+{% highlight javascript %}
+
+var date1 = new Date ( "January 6, 2013" );
+
+date1
+// Sun Jan 06 2013 00:00:00 GMT+0800 (CST)
+
+date1.setDate(9)
+// 1357660800000
+
+date1
+// Wed Jan 09 2013 00:00:00 GMT+0800 (CST)
+
+{% endhighlight %}
+
+如果参数超过当月的最大天数,则向下一个月顺延。
+
+{% highlight javascript %}
+
+var date1 = new Date ( "January 6, 2013" );
+
+date1.setDate(32)
+// 得到“Fri Feb 01 2013 00:00:00 GMT+0800 (CST)”
+
+{% endhighlight %}
+
+如果参数是负数,表示从上个月的最后一天开始减去的天数。
+
+{% highlight javascript %}
+
+var date1 = new Date ( "January 6, 2013" );
+
+date1.setDate(-1)
+// 得到“Sun Dec 30 2012 00:00:00 GMT+0800 (CST)”
+
+{% endhighlight %}
+
+setMonth方法用来改变实例对象对应的月份(从0开始),返回改变后的Unix时间戳。
+
+{% highlight javascript %}
+
+var date1 = new Date ( "January 6, 2013" );
+
+date1
+// Sun Jan 06 2013 00:00:00 GMT+0800 (CST)
+
+date1.setMonth(2)
+// 1362499200000
+
+date1
+// Wed Mar 06 2013 00:00:00 GMT+0800 (CST)
+
+{% endhighlight %}
+
+setMonth方法的参数规则与setDate类似。
+
+## 参考链接
+
+- Rakhitha Nimesh,[Getting Started with the Date Object](http://jspro.com/raw-javascript/beginners-guide-to-javascript-date-and-time/)
View
2 grammar/json.md → stdlib/json.md
@@ -1,7 +1,7 @@
---
title: JSON格式
layout: page
-category: grammar
+category: stdlib
date: 2013-01-11
modifiedOn: 2013-01-31
---
View
2 grammar/math.md → stdlib/math.md
@@ -1,7 +1,7 @@
---
title: Math对象
layout: page
-category: grammar
+category: stdlib
date: 2013-02-12
modifiedOn: 2013-02-12
---
View
2 grammar/regex.md → stdlib/regex.md
@@ -1,7 +1,7 @@
---
title: Regex对象
layout: page
-category: grammar
+category: stdlib
date: 2013-01-17
modifiedOn: 2013-01-28
---

0 comments on commit 80ca32e

Please sign in to comment.