JavaScript教程-JavaScript日期比较
在前面的章节中,我们讨论了日期方法和构造函数。
在这里,借助这些方法,我们将学习如何比较日期。
基本上,有不同的方式可以进行日期比较,例如:
- 比较两个日期。
- 比较日期和时间。
- 使用
getTime()
比较日期。
比较两个日期
示例:
<!DOCTYPE html>
<html>
<head>
<title>比较日期</title>
</head>
<body>
<script>
function compareDates() {
var date1 = new Date('2020-01-23');
var date2 = new Date('2020-01-21');
if (date1 > date2) {
document.write("True,第一个日期大于第二个日期");
} else if (date1 < date2) {
document.write("False,第二个日期小于第一个日期");
} else {
document.write("两个日期相同");
}
}
compareDates();
</script>
</body>
</html>
比较日期和时间
示例1: 比较具有不同时间的不同日期
<!DOCTYPE html>
<html>
<head>
<title>比较日期和时间</title>
</head>
<body>
<script>
var date1 = new Date("Apr 17, 2019 12:10:10");
var date2 = new Date("Dec 1, 2019 12:10:30");
if (date1 > date2) {
document.write("False,date1 的日期和时间小于 date2 的日期和时间");
} else if (date1 < date2) {
document.write("True,date2 的日期和时间更大");
} else {
document.write("日期和时间相同");
}
</script>
</body>
</html>
示例2: 比较具有不同时间的相同日期
<!DOCTYPE html>
<html>
<head>
<title>比较日期和时间</title>
</head>
<body>
<script>
var date1 = new Date("2018-01-10, 12:10:10");
var date2 = new Date("2018-01-10, 12:10:50");
if (date1 > date2) {
document.write("False,date1 和 date2 日期相同,但 date2 时间大于 date1 时间");
} else if (date1 < date2) {
document.write("True,date2 时间大于 date1 时间");
} else {
document.write("日期和时间相同");
}
</script>
</body>
</html>
使用getTime()
比较日期
更好的方法是使用getTime()
函数来比较日期。该函数将日期转换为数字值,以便直接进行比较。
示例1: 比较当前日期和时间与给定的日期和时间
<!DOCTYPE html>
<html>
<head>
<title>使用getTime()比较日期</title>
</head>
<body>
<script>
var date1 = new Date("2019-10-10, 10:10:10");
var currentDate = new Date();
if (date1.getTime() < currentDate.getTime()) {
document.write("True,当前日期和时间大于 d1");
} else if (date1.getTime() > currentDate.getTime()) {
document.write("False");
} else {
document.write("True,相同");
}
</script>
</body>
</html>
示例2: 比较两个不同的日期和时间
<!DOCTYPE html>
<html>
<head>
<title>使用getTime()比较日期</title>
</head>
<body>
<script>
var date1 = new Date("2019-10-10, 10:10:10");
var date2 = new Date("2019-11-02, 14:19:05");
if (date1.getTime() < date2.getTime()) {
document.write("True,date1 的日期和时间小于 date2 的日期和时间");
} else if (date1.getTime() > date2.getTime()) {
document.write("False,date2 的日期和时间大于 date1");
} else {
document.write("True,date1 和 date2 具有相同的日期和时间");
}
</script>
</body>
</html>
因此,我们可以以多种方式比较日期。
更改日期格式
我们还可以通过 JavaScript 代码更改或设置格式。getFullYear()
、getMonth()
和 getDate()
函数允许根据需要设置日期格式。
示例1: 将日期格式更改为 'yyyy-mm-dd'
<!DOCTYPE html>
<html>
<head>
<title>更改日期格式</title>
</head>
<body>
<script>
var current_date = new Date();
var formatted_date = current_date.getFullYear() + "-" + (current_date.getMonth() + 1) + "-" + current_date.getDate();
document.write("格式为 yyyy-mm-dd: " + formatted_date);
</script>
</body>
</html>
我们还可以根据需要设置日期和时间格式。
示例2: 将日期时间格式更改为 'yyyy-dd-mm hh:mm:ss'
<!DOCTYPE html>
<html>
<head>
<title>更改日期时间格式</title>
</head>
<body>
<script>
var current_datetime = new Date();
var formatted_datetime = current_datetime.getFullYear() + "-" + (current_datetime.getMonth() + 1) + "-" + current_datetime.getDate() + " " + current_datetime.getHours() + ":" + current_datetime.getMinutes() + ":" + current_datetime.getSeconds();
document.write("格式为 yyyy-dd-mm hh:mm:ss: " + formatted_datetime);
</script>
</body>
</html>