JavaScript 设置日期方法

使用“设置日期”方法可以设置日期对象的日期值(年、月、日、小时、分钟、秒、毫秒)。


日期设置方法

设置方法用于设置日期的某个部分。下面是最常用的方法(按照字母顺序排序):

方法描述
setDate()以数值(1-31)设置日
setFullYear()设置年(可选月和日)
setHours()设置小时(0-23)
setMilliseconds()设置毫秒(0-999)
setMinutes()设置分(0-59)
setMonth()设置月(0-11)
setSeconds()设置秒(0-59)
setTime()设置时间(从 1970 年 1 月 1 日至今的毫秒数)

setFullYear() 方法

setFullYear() 方法设置日期对象的年份。这个例子设置为 2020 年:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript setFullYear()</h2>
  5. <p>setFullYear() 方法设置日期对象的年份:</p>
  6. <p id="demo">
  7. <script>
  8. var d = new Date();
  9. d.setFullYear(2020);
  10. document.getElementById("demo").innerHTML = d;
  11. </script>
  12. </body>
  13. </html>

setFullYear() 方法可以选择设置月和日:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript setFullYear()</h2>
  5. <p>setFullYear() 方法可以选择设置月和日。</p>
  6. <p>请注意,月份从 0 计数。十二月是 11:</p>
  7. <p id="demo">
  8. <script>
  9. var d = new Date();
  10. d.setFullYear(2020, 11, 3);
  11. document.getElementById("demo").innerHTML = d;
  12. </script>
  13. </body>
  14. </html>

setMonth() 方法

setMonth() 方法设置日期对象的月份(0-11):

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript setMonth()</h2>
  5. <p>setMonth() 方法设置日期对象的月份。</p>
  6. <p>请注意,月份从 0 计数。十二月是 11:</p>
  7. <p id="demo">
  8. <script>
  9. var d = new Date();
  10. d.setMonth(11);
  11. document.getElementById("demo").innerHTML = d;
  12. </script>
  13. </body>
  14. </html>

setDate() 方法

setDate() 方法设置日期对象的日(1-31):

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript setDate()</h2>
  5. <p>setDate() 方法设置日期对象的日:</p>
  6. <p id="demo">
  7. <script>
  8. var d = new Date();
  9. d.setDate(15);
  10. document.getElementById("demo").innerHTML = d;
  11. </script>
  12. </body>
  13. </html>

setDate() 方法也可用于将天数添加到日期:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript setDate()</h2>
  5. <p>setDate() 方法可用于向日期添加天数。</p>
  6. <p id="demo">
  7. <script>
  8. var d = new Date();
  9. d.setDate(d.getDate() + 50);
  10. document.getElementById("demo").innerHTML = d;
  11. </script>
  12. </body>
  13. </html>

如果添加天数,切换月份或年份,则更改将由 Date 对象自动处理。


setHours() 方法

setHours() 方法设置日期对象的小时(0-23):

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript setHours()</h2>
  5. <p>setHours() 方法设置日期对象的小时数:</p>
  6. <p id="demo">
  7. <script>
  8. var d = new Date();
  9. d.setHours(22);
  10. document.getElementById("demo").innerHTML = d;
  11. </script>
  12. </body>
  13. </html>

setMinutes() 方法

setMinutes() 方法设置日期对象的分钟(0-59):

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript setMinutes()</h2>
  5. <p>setMinutes() 方法设置日期对象的分钟数(0-59):</p>
  6. <p id="demo">
  7. <script>
  8. var d = new Date();
  9. d.setMinutes(30);
  10. document.getElementById("demo").innerHTML = d;
  11. </script>
  12. </body>
  13. </html>

setSeconds() 方法

setSeconds() 方法设置日期对象的秒数(0-59):

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <h2>JavaScript setSeconds()</h2>
  5. <p>setSeconds() 方法设置日期对象的秒数(0-59):</p>
  6. <p id="demo">
  7. <script>
  8. var d = new Date();
  9. d.setSeconds(30);
  10. document.getElementById("demo").innerHTML = d;
  11. </script>
  12. </body>
  13. </html>

比较日期

日期可以很容易地进行比较。

下面的例子把今日与 2049 年 1 月 16 日进行比较:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <p id="demo">
  5. <script>
  6. var today, someday, text;
  7. today = new Date();
  8. someday = new Date();
  9. someday.setFullYear(2100, 0, 15);
  10. if (someday > today) {
  11. text = "今天在 2100 年 1 月 15 日之前。";
  12. } else {
  13. text = "今天在 2100 年 1 月 15 日之后。";
  14. }
  15. document.getElementById("demo").innerHTML = text;
  16. </script>
  17. </body>
  18. </html>

JavaScript 从 0 到 11 计数月份。1 月是 0。12 月是 11。