javascript时间与日期的学习

JavaScript 日期输出

默认情况下,JavaScript 将使用浏览器的时区并将日期显示为全文本字符串: Fri Feb 03 2023 16:07:59 GMT+0800 (中国标准时间)

Date类是JavaScript中用于操作时间和日期的API。使用Date()构造函数可以创建一个对象。再不传参的情况下,这个构造函数会返回一个表示当前日期和时间的Date对象:

Date 对象由新的 Date() 构造函数创建。

有 4 种方法创建新的日期对象:

  • new Date()
  • new Date(year, month, day, hours, minutes, seconds, milliseconds)
  • new Date(milliseconds)
  • new Date(date string)

new Date()
    在不传入参数的情况下,这个构造函数会返回表示当前时间和日期的Date对象:

 

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p>使用 new Date(),使用当前日期和时间创建一个新的日期对象:</p>

<p id="demo"></p>

<script>
var d = new Date();
document.getElementById("demo").innerHTML = d; // Fri Feb 03 2023 16:07:59 GMT+0800 (中国标准时间)
</script>

</body>
</html>

 

new Date(millseconds)

在传入一个参数值,Date()构造函数将其解释位自1970年至今经过的毫秒数:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p>使用 new Date(<i>milliseconds</i>),创建一个零时(January 1, 1970, 00:00:00 Universal Time)加毫秒的新日期对象:</p>

<p id="demo"></p>

<script>
var d = new Date(0);
document.getElementById("demo").innerHTML = d;// January 1, 1970, 00:00:00 Universal Time
</script> </body> </html

new Date(year, month, day, hours, minutes, seconds, milliseconds)

    用指定日期和时间创建新的日期对象,7个数字分别指定年、月、日、小时、分钟、秒和毫秒(按此顺序):

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p>使用 new Date(7 numbers),使用指定的日期和时间创建一个新的日期对象:</p>

<p id="demo"></p>

<script>
var d = new Date(2022, 2, 2, 10, 33, 30, 0);
document.getElementById("demo").innerHTML = d;//Fri Feb 03 2023 10:33:0 (中国标准时间)
10:33:30 GMT+0800 (中国标准时间) </script> </body> </html>

new Date(date string)

    从日期字符串创建一个新的日期对象

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p>可以使用指定的日期和时间创建 Date 对象:</p>

<p id="demo"></p>

<script>
var d = new Date("December 25, 2019 12:46:00");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

 

JavaScript 将日期存储为毫秒

JavaScript 将日期存储为自 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)以来的毫秒数。

零时间是 1970 年 1 月 1 日 00:00:00 UTC。

现在的时间是:1970 年 1 月 1 日之后的 1554166879383 毫秒。

 

 

 

JavaScript 日期获取方法

日期获取方法

获取方法用于获取日期的某个部分(来自日期对象的信息:

方法描述
getDate() 以数值返回天(1-31)
getDay() 以数值获取周名(0-6)
getFullYear() 获取四位的年(yyyy)
getHours() 获取小时(0-23)
getMilliseconds() 获取毫秒(0-999)
getMinutes() 获取分(0-59)
getMonth() 获取月(0-11)
getSeconds() 获取秒(0-59)
getTime() 获取时间(从 1970 年 1 月 1 日至今)

getTime() 方法

getTime() 方法返回自 1970 年 1 月 1 日以来的毫秒数

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript getTime()</h2>

<p>JavaScript 中的内部时钟从 1970 年 1 月 1 日午夜开始计算。</p>

<p>getTime() 函数返回从那时起的毫秒数:</p>

<p id="demo"></p>

<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.getTime();//1675413793582
</script>

</body>
</html>

getFullYear() 方法

getFullYear() 方法返回四个数字的年份

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript getFullYear()</h2>

<p>getFullYear() 方法返回日期的完整年:</p>

<p id="demo"></p>

<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.getFullYear();//2023
</script>

</body>
</html>

getMonth() 方法

getMonth() 以数字(0-11)返回日期的月份:

  在 JavaScript 中,第一个月(1 月)是月号 0,因此 12 月返回月号 11。

  您可以使用名称数组,并使用 getMonth() 将月份作为名称返回

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript getMonth()</h2>

<p>getMonth()方法以 0 到 11 之间的数字返回日期的月份。</p>

<p>要获得正确的月份,您必须添加 1:</p>

<p id="demo"></p>

<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.getMonth() + 1;//1
</script>

</body>
</html>

getDate() 方法

getDate() 方法以数字(1-31)返回日期的日

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript getDate()</h2>

<p>getDate() 方法以数字(1-31)返回日期的日:</p>

<p id="demo"></p>

<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.getDate();//2
</script>

</body>
</html>

getHours() 方法

getHours() 方法以数字(0-23)返回日期的小时数:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript getHours()</h2>

<p>getHours() 方法以数字(0-23)返回日期的小时:</p>

<p id="demo"></p>

<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.getHours();//17
</script>

</body>
</html>

getMinutes() 方法

getMinutes() 方法以数字(0-59)返回日期的分钟数:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript getMinutes()</h2>

<p>getMinutes() 方法以数字(0-59)返回日期的分钟:</p>

<p id="demo"></p>

<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.getMinutes();//3
</script>

</body>
</html>

getSeconds() 方法

getSeconds() 方法以数字(0-59)返回日期的秒数:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript getSeconds()</h2>

<p>getSeconds() 方法以数字(0-59)返回日期的秒:</p>

<p id="demo"></p>

<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.getSeconds();//34
</script>

</body>
</html>

getMilliseconds() 方法

getMilliseconds() 方法以数字(0-999)返回日期的毫秒数:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript getMilliseconds()</h2>

<p>getMilliseconds() 方法以数字(0-999)的形式返回日期的毫秒数:</p>

<p id="demo"></p>

<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.getMilliseconds();//555
</script>

</body>
</html>

getDay() 方法

getDay() 方法以数字(0-6)返回日期的星期名(weekday):

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript getDay()</h2>

<p>getDay() 方法将周名作为数字返回:</p>

<p id="demo"></p>

<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.getDay();//5
</script>

</body>
</html>

JavaScript 日期设置方法

日期设置方法

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

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


例:
<!DOCTYPE html>
<html>
<body>

<h2>JavaScript setFullYear()</h2>

<p>setFullYear() 方法设置日期对象的年份:</p>
<p>setMouth() 方法设置日期对象的月份(0-11):</p>
<p>setDate() 方法设置日期对象的日(1-31):</p>
<p>setHours() 方法设置日期对象的小时(0-23):</p>
<p>setMinutes() 方法设置日期对象的分钟(0-59)</p>
<p>setSeconds() 方法设置日期对象的秒数(0-59)</p>

<p id="demo"></p>

<script>
var d = new Date();
d.setFullYear(2020);
console.log(d) //Mon Feb 03 2020 20:11:42 GMT+0800 (中国标准时间)
var A = new Date();
A.setMonth(11);
console.log(A)//Sun Dec 03 2023 20:12:32 GMT+0800 (中国标准时间)
var B = new Date();
B.setDate(15);
console.log(B)//Wed Feb 15 2023 20:13:19 GMT+0800 (中国标准时间)
var c = new Date();
c.setHours(22);
console.log(c) //Fri Feb 03 2023 22:13:56 GMT+0800 (中国标准时间)
var E = new Date();
E.setMinutes(30);
console.log(E)//Fri Feb 03 2023 20:30:35 GMT+0800 (中国标准时间)
var f = new Date();
f.setSeconds(30);
console.log(f)//Fri Feb 03 2023 20:15:30 GMT+0800 (中国标准时间)
</script>

</body>
</html>

比较日期

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

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

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var today, someday, text;
today = new Date();
someday = new Date();
someday.setFullYear(2100, 0, 15);

if (someday > today) {
  text = "今天在 2100 年 1 月 15 日之前。";
} else {
  text = "今天在 2100 年 1 月 15 日之后。";
}
document.getElementById("demo").innerHTML = text;//今天在 2100 年 1 月 15 日之前。
</script>

</body>
 
posted @ 2023-02-03 20:18  初学者张斌斌  阅读(144)  评论(0)    收藏  举报