[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/gityuncode/javascript-tutorial/master/docs/stdlib/date.md [Back]  [Original]

# Date 

`Date` JavaScript UTC19701100:00:001

## 

`Date`

```javascript
Date()
// "Tue Dec 01 2015 09:34:43 GMT+0800 (CST)"
```

`Date`

```javascript
Date(2000, 1, 1)
// "Tue Dec 01 2015 09:34:43 GMT+0800 (CST)"
```

`Date`

## 

`Date``new``Date`

```javascript
var today = new Date();
```

`Date``.valueOf()``Date``toString()``Date`

```javascript
var today = new Date();

today
// "Tue Dec 01 2015 09:34:43 GMT+0800 (CST)"

// 
today.toString()
// "Tue Dec 01 2015 09:34:43 GMT+0800 (CST)"
```

`today``Date``toString`

`Date`

```javascript
// 
new Date(1378218728000)
// Tue Sep 03 2013 22:32:08 GMT+0800 (CST)

// 
new Date('January 6, 2013');
// Sun Jan 06 2013 00:00:00 GMT+0800 (CST)

// 
// 
new Date(2013, 0, 1, 0, 0, 0, 0)
// Tue Jan 01 2013 00:00:00 GMT+0800 (CST)
```

`Date`

1970

```javascript
new Date(-1378218728000)
// Fri Apr 30 1926 17:27:52 GMT+0800 (CST)
```

`Date.parse()`

```javascript
new Date('2013-2-15')
new Date('2013/2/15')
new Date('02/15/2013')
new Date('2013-FEB-15')
new Date('FEB, 15, 2013')
new Date('FEB 15, 2013')
new Date('February, 15, 2013')
new Date('February 15, 2013')
new Date('15 Feb 2013')
new Date('15, February, 2013')
// Fri Feb 15 2013 00:00:00 GMT+0800 (CST)
```



`Date`

```javascript
new Date(2013)
// Thu Jan 01 1970 08:00:02 GMT+0800 (CST)
```

2013

```javascript
new Date(2013, 0)
// Tue Jan 01 2013 00:00:00 GMT+0800 (CST)
new Date(2013, 0, 1)
// Tue Jan 01 2013 00:00:00 GMT+0800 (CST)
new Date(2013, 0, 1, 0)
// Tue Jan 01 2013 00:00:00 GMT+0800 (CST)
new Date(2013, 0, 1, 0, 0, 0, 0)
// Tue Jan 01 2013 00:00:00 GMT+0800 (CST)
```

201311



- `2000``1900``10`1910
- `0``11`12
- `1``31`
- `0``23`
- `0``59`
- `0``59`
- `0``999`

`0``1``1``0`

`15`4

```javascript
new Date(2013, 15)
// Tue Apr 01 2014 00:00:00 GMT+0800 (CST)
new Date(2013, 0, 0)
// Mon Dec 31 2012 00:00:00 GMT+0800 (CST)
```

`0`



```javascript
new Date(2013, -1)
// Sat Dec 01 2012 00:00:00 GMT+0800 (CST)
new Date(2013, 0, -1)
// Sun Dec 30 2012 00:00:00 GMT+0800 (CST)
```



## 

`Date`

```javascript
var d1 = new Date(2000, 2, 1);
var d2 = new Date(2000, 3, 1);

d2 - d1
// 2678400000
d2 + d1
// "Sat Apr 01 2000 00:00:00 GMT+0800 (CST)Wed Mar 01 2000 00:00:00 GMT+0800 (CST)"
```

## 

### Date.now()

`Date.now`197011 00:00:00 UTC Unix 1000

```javascript
Date.now() // 1364026285194
```

### Date.parse()

`Date.parse`197011 00:00:00

 RFC 2822  ISO 8061 `YYYY-MM-DDTHH:mm:ss.sssZ``Z`

```javascript
Date.parse('Aug 9, 1995')
Date.parse('January 26, 2011 13:51:50')
Date.parse('Mon, 25 Dec 1995 13:30:00 GMT')
Date.parse('Mon, 25 Dec 1995 13:30:00 +0430')
Date.parse('2011-10-10')
Date.parse('2011-10-10T14:48:00')
```



`NaN`

```javascript
Date.parse('xxx') // NaN
```

### Date.UTC()

`Date.UTC`197011 00:00:00 UTC

```javascript
// 
Date.UTC(year, month[, date[, hrs[, min[, sec[, ms]]]]])

// 
Date.UTC(2011, 0, 1, 2, 3, 4, 567)
// 1293847384567
```

`Date``0``1``Date.UTC` UTC `Date`

## 

`Date``valueOf``toString`

- `to``Date`
- `get``Date`
- `set``Date`

### Date.prototype.valueOf()

`valueOf`19701100:00:00 UTC`getTime`

```javascript
var d = new Date();

d.valueOf() // 1362790014817
d.getTime() // 1362790014817
```

`Date`

```javascript
var start = new Date();
// ...
var end = new Date();
var elapsed = end - start;
```

### to 

**1Date.prototype.toString()**

`toString`

```javascript
var d = new Date(2013, 0, 1);

d.toString()
// "Tue Jan 01 2013 00:00:00 GMT+0800 (CST)"
d
// "Tue Jan 01 2013 00:00:00 GMT+0800 (CST)"
```

`toString``Date`

**2Date.prototype.toUTCString()**

`toUTCString` UTC 8

```javascript
var d = new Date(2013, 0, 1);

d.toUTCString()
// "Mon, 31 Dec 2012 16:00:00 GMT"
```

**3Date.prototype.toISOString()**

`toISOString` ISO8601 

```javascript
var d = new Date(2013, 0, 1);

d.toISOString()
// "2012-12-31T16:00:00.000Z"
```

`toISOString` UTC 

**4Date.prototype.toJSON()**

`toJSON` JSON  ISO `toISOString`

```javascript
var d = new Date(2013, 0, 1);

d.toJSON()
// "2012-12-31T16:00:00.000Z"
```

**5Date.prototype.toDateString()**

`toDateString`

```javascript
var d = new Date(2013, 0, 1);
d.toDateString() // "Tue Jan 01 2013"
```

**6Date.prototype.toTimeString()**

`toTimeString`

```javascript
var d = new Date(2013, 0, 1);
d.toTimeString() // "00:00:00 GMT+0800 (CST)"
```

**7**

 Date 

- `Date.prototype.toLocaleString()`
- `Date.prototype.toLocaleDateString()`
- `Date.prototype.toLocaleTimeString()`



```javascript
var d = new Date(2013, 0, 1);

d.toLocaleString()
// "201311 12:00:00"
// "1/1/2013 12:00:00 AM"

d.toLocaleDateString()
// "201311"
// "1/1/2013"

d.toLocaleTimeString()
// "12:00:00"
// "12:00:00 AM"
```



```javascript
dateObj.toLocaleString([locales[, options]])
dateObj.toLocaleDateString([locales[, options]])
dateObj.toLocaleTimeString([locales[, options]])
```

`locales``options``locales``en-US``zh-CN`

```javascript
var d = new Date(2013, 0, 1);

d.toLocaleString('en-US') // "1/1/2013, 12:00:00 AM"
d.toLocaleString('zh-CN') // "2013/1/1 12:00:00"

d.toLocaleDateString('en-US') // "1/1/2013"
d.toLocaleDateString('zh-CN') // "2013/1/1"

d.toLocaleTimeString('en-US') // "12:00:00 AM"
d.toLocaleTimeString('zh-CN') // "12:00:00"
```

`options`

- `dateStyle``full``long``medium``short`
- `timeStyle``full``long``medium``short`
- `month``numeric``2-digit``long``short``narrow`
- `year``numeric``2-digit`
- `weekday``long``short``narrow`
- `day``hour``minute``second``numeric``2-digit`
- `timeZone` IANA 
- `timeZoneName``long``short`
- `hour12`2412`true``false`



```javascript
var d = new Date(2013, 0, 1);

d.toLocaleDateString('en-US', {
  weekday: 'long',
  year: 'numeric',
  month: 'long',
  day: 'numeric'
})
// "Tuesday, January 1, 2013"

d.toLocaleDateString('en-US', {
  day: "2-digit",
  month: "long",
  year: "2-digit"
});
// "January 01, 13"

d.toLocaleTimeString('en-US', {
  timeZone: 'UTC',
  timeZoneName: 'short'
})
// "4:00:00 PM UTC"

d.toLocaleTimeString('en-US', {
  timeZone: 'Asia/Shanghai',
  timeZoneName: 'long'
})
// "12:00:00 AM China Standard Time"

d.toLocaleTimeString('en-US', {
  hour12: false
})
// "00:00:00"

d.toLocaleTimeString('en-US', {
  hour12: true
})
// "12:00:00 AM"
```

### get 

`Date``get*`

- `getTime()`19701100:00:00`valueOf`
- `getDate()`1
- `getDay()`01
- `getFullYear()`
- `getMonth()`011112
- `getHours()`0-23
- `getMilliseconds()`0-999
- `getMinutes()`0-59
- `getSeconds()`0-59
- `getTimezoneOffset()` UTC 

`get*`

- 0  59
- 0  23
- 0 6
- 1  31
- 0 11

```javascript
var d = new Date('January 6, 2013');

d.getDate() // 6
d.getMonth() // 0
d.getFullYear() // 2013
d.getTimezoneOffset() // -480
```

`-480` UTC `-480` UTC 480 UTC 8



```javascript
function leftDays() {
  var today = new Date();
  var endYear = new Date(today.getFullYear(), 11, 31, 23, 59, 59, 999);
  var msPerDay = 24 * 60 * 60 * 1000;
  return Math.round((endYear.getTime() - today.getTime()) / msPerDay);
}
```

`get*``Date` UTC  UTC 

- `getUTCDate()`
- `getUTCFullYear()`
- `getUTCMonth()`
- `getUTCDay()`
- `getUTCHours()`
- `getUTCMinutes()`
- `getUTCSeconds()`
- `getUTCMilliseconds()`

```javascript
var d = new Date('January 6, 2013');

d.getDate() // 6
d.getUTCDate() // 5
```

`d`1600016`getDate`6 UTC 15`getUTCDate`5

### set 

`Date``set*`

- `setDate(date)`1-31
- `setFullYear(year [, month, date])`
- `setHours(hour [, min, sec, ms])`0-23
- `setMilliseconds(ms)`0-999
- `setMinutes(min [, sec, ms])`0-59
- `setMonth(month [, date])`0-11
- `setSeconds(sec [, ms])`0-59
- `setTime(milliseconds)`

`get*``setDay`0`0`1`11`12

```javascript
var d = new Date ('January 6, 2013');

d // Sun Jan 06 2013 00:00:00 GMT+0800 (CST)
d.setDate(9) // 1357660800000
d // Wed Jan 09 2013 00:00:00 GMT+0800 (CST)
```

`set*``setDate()`

```javascript
var d1 = new Date('January 6, 2013');

d1.setDate(32) // 1359648000000
d1 // Fri Feb 01 2013 00:00:00 GMT+0800 (CST)

var d2 = new Date ('January 6, 2013');

d2.setDate(-1) // 1356796800000
d2 // Sun Dec 30 2012 00:00:00 GMT+0800 (CST)
```

`d1.setDate(32)`13213121`d2.setDate(-1)`1230

`set``get`

```javascript
var d = new Date();

// 1000
d.setDate(d.getDate() + 1000);
// 6
d.setHours(d.getHours() + 6);
// 
d.setFullYear(d.getFullYear() - 1);
```

`set*``setTime()` UTC  UTC 

- `setUTCDate()`
- `setUTCFullYear()`
- `setUTCHours()`
- `setUTCMilliseconds()`
- `setUTCMinutes()`
- `setUTCMonth()`
- `setUTCSeconds()`

```javascript
var d = new Date('January 6, 2013');
d.getUTCHours() // 16
d.setUTCHours(22) // 1357423200000
d // Sun Jan 06 2013 06:00:00 GMT+0800 (CST)
```

1600 UTC 16 UTC 226

## 

- Rakhitha Nimesh[Getting Started with the Date Object](https://www.sitepoint.com/beginners-guide-to-javascript-date-and-time/)
- Ilya Kantor, [Date/Time functions](https://javascript.info/date)

Web Proxy Viewer  |  New URL  |  Original Page