js Date对象的使用

JavaScript中的Date对象用于处理日期和时间。它允许您获取当前日期和时间,设置特定日期和时间,以及执行日期和时间的各种操作。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// 获取当前时间,Tue Feb 07 2017 17:28:35 GMT+0800 (中国标准时间)
var now = new Date();

// 2017,年份
now.getFullYear();

// 1,月份的范围是0-11,1是表示2月份
now.getMonth();

// 07,日
now.getDate();

// 2,星期二
now.getDay();

// 17,小时,24小时制
now.getHours();

// 28,分钟
now.getMinutes();

// 35,秒
now.getSeconds();

// 774,毫秒
now.getMilliseconds();

// 1486459715774,获取时间戳
now.getTime();

情人节想和女票出去吃一顿。。。。。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var now = new Date();
var time = now.getTime();
var year = now.getFullYear();
var month = now.getMonth();
var date = now.getDate();
var day = now.getDay();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds();
var milliseconds = now.getMilliseconds();

//情人节是几月几号来着...
if (month===1 && date===14) {
alert('小妞,出来吧,我在餐厅定了位!');
}else {
alert('每天都是情人节,我们就在家吃吧!');
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
// 格式化日期:yyyy-MM-dd   
function formatDate(date) {   
  var myyear = date.getFullYear();  
  var mymonth = date.getMonth()+1;  
  var myweekday = date.getDate();   
    
  if(mymonth < 10){  
    mymonth = "0" + mymonth;  
  }   
  if(myweekday < 10){  
    myweekday = "0" + myweekday;  
  }  
  return (myyear+"-"+mymonth + "-" + myweekday);   
}   
  
// 获得某月的天数  
function getMonthDays(paraYear,paraMonth){  
  var monthStartDate=new Date(paraYear, paraMonth, 1);   
  var monthEndDate=new Date(paraYear, paraMonth + 1, 1);   
  var days=(monthEndDate-monthStartDate)/(1000*60*60*24);   
  return  days;   
}   
  
// 获得某周的开始日期  
function getWeekStartDate(paraYear,paraMonth,paraDay,paraDayOfWeek) {   
  var weekStartDate = new Date(paraYear, paraMonth, paraDay + 1 - paraDayOfWeek);   
  return formatDate(weekStartDate);  
}   
  
// 获得某周的结束日期  
function getWeekEndDate(paraYear,paraMonth,paraDay,paraDayOfWeek) {   
  var weekEndDate = new Date(paraYear, paraMonth, paraDay + (7 - paraDayOfWeek));   
  return formatDate(weekEndDate);  
}   
  
// 获得某月的开始日期  
function getMonthStartDate(paraYear,paraMonth){  
  var monthStartDate = new Date(paraYear, paraMonth, 1);   
  return formatDate(monthStartDate);  
}  
  
// 获得某月的结束日期  
function getMonthEndDate(paraYear,paraMonth){
  var monthEndDate = new Date(paraYear,paraMonth, getMonthDays(paraYear,paraMonth));   
  return formatDate(monthEndDate);  
}  

// 获得上月开始时间 
function getLastMonthStartDate(paraYear, lastMonth){ 
  var lastMonthStartDate = new Date(paraYear, lastMonth, 1); 
  return formatDate(lastMonthStartDate);  
} 

// 获得上月结束时间 
function getLastMonthEndDate(paraYear, lastMonth, lastMonth){ 
  var lastMonthEndDate = new Date(paraYear, lastMonth, getMonthDays(lastMonth)); 
  return formatDate(lastMonthEndDate);  
} 
  
// 获得某季度的开始日期  
function getQuarterStartDate(paraYear,paraSeason){  
  switch (paraSeason){  
    case '1' : return paraYear+"-01-01";
    case '2' : return paraYear+"-04-01";
    case '3' : return paraYear+"-07-01";
    case '4' : return paraYear+"-10-01";
  }
}  
  
// 获得某季度的结束日期  
function getQuarterEndDate(paraYear,paraSeason){  
  switch (paraSeason){  
  case '1' : return paraYear+"-03-31";
  case '2' : return paraYear+"-06-30";
  case '3' : return paraYear+"-09-30";
  case '4' : return paraYear+"-12-31";
  } 
}

// 获取某年某周的开始日期
function getBeginDateOfWeek(paraYear, weekIndex){
  var firstDay = GetFirstWeekBegDay(paraYear);
  // 7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)
  var time=(weekIndex-1)*7*24*3600000;
  var beginDay = firstDay;
  // 为日期对象 date 重新设置成时间 time
  beginDay.setTime(firstDay.valueOf()+time);
  return formatDate(beginDay);
}

//获取某年某周的结束日期
function getEndDateOfWeek(paraYear, weekIndex){
  var firstDay = GetFirstWeekBegDay(paraYear);
  // 7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)
  var time=(weekIndex-1)*7*24*3600000;
  var weekTime = 6*24*3600000;
  var endDay = firstDay;
  // 为日期对象 date 重新设置成时间 time
  endDay.setTime(firstDay.valueOf()+weekTime+time);
  return formatDate(endDay);
}

// 获取日期为某年的第几周
function GetWeekIndex(dateobj) {
  var firstDay = GetFirstWeekBegDay(dateobj.getFullYear());
  if (dateobj < firstDay) {
   firstDay = GetFirstWeekBegDay(dateobj.getFullYear() - 1);
  }
  d = Math.floor((dateobj.valueOf() - firstDay.valueOf()) / 86400000);
  return Math.floor(d / 7) + 1; 
}

// 获取某年的第一天
function GetFirstWeekBegDay(year) {
  var tempdate = new Date(year, 0, 1);
  var temp = tempdate.getDay();
  if (temp == 1){
    return tempdate;
  }
  temp = temp == 0 7 : temp;
  tempdate = tempdate.setDate(tempdate.getDate() + (8 - temp));
  return new Date(tempdate); 
}