Javascript 比较两个日期的大小/相差天数/修改日期格式

本文介绍了JavaScript中如何比较两个日期的大小,转换日期为'YYYY-MM-DD'格式,计算两个日期相差的天数,以及日期的格式化方法。提供了相关代码示例和参考资料链接。

Js中获取当前日期用:new Date() 即可

1. JS函数比较两个日期大小

function comparTimeWithNowDate(date1,date2){
    var oDate1 = new Date(date1);
    var oDate2 = new Date(date2);
    if(oDate1.getTime() >= oDate2.getTime()){	//.getTime()获取 比较毫秒值
    	return 1;//大于当前日期
    } else {
    	return 0;
    }
}
comparTimeWithNowDate("2018-01-01","2018-01-02");

2. 获取当前时间,转换成 “ 2008-08-08 ” 的格式

var NowDate = getNowDate(new Date());
function getNowDate(nowDate){	// 获取时间 转换成 “ 2008-08-08 ”  的格式
    var seperator1 = "-";	var seperator2 = ":";
    var year = nowDate.getFullYear();
    var month = nowDate.getMonth()+1;
    month = month>9 ? month : "0" + month;
    var date = nowDate.getDate();
    date = date>9 ? date : "0" + date;
    var currentdate = year + seperator1 + month + seperator1 + date;
    return currentdate;
}
alert(NowDate);

3. 两个日期相差的天数

//相差的天数
function  
在不同的编程语言中,计算两个`Date`日期之间相差天数的方法各有不同,以下是几种常见编程语言的实现示例: ### JavaScriptJavaScript 里,可通过`Date`对象的`getTime()`方法把日期转换为毫秒数,再将毫秒数的差值转换为天数。 ```javascript let date1 = prompt("请输入第一个日期:格式为xxxx/xx/xx"); let date2 = prompt("请输入第二个日期:格式为xxxx/xx/xx"); function mydate(date1, date2) { let date3 = new Date(date1); let date4 = new Date(date2); let time1 = date3.getTime(); let time2 = date4.getTime(); let time = time1 - time2; let day = time / 1000 / 60 / 60 / 24; day = Math.abs(day); console.log(`两个日期相差${day}天`); } mydate(date1, date2); ``` 此代码会提示用户输入两个日期,然后计算并输出这两个日期相差天数。 另一种方式是封装成函数,支持`xxxx-xx-xx`格式的日期输入: ```javascript function diffDay(stime, etime) { stime = stime.replace(/\-/g, "/"); etime = etime.replace(/\-/g, "/"); var sTime = new Date(stime); var eTime = new Date(etime); return Math.abs(parseInt((eTime.getTime() - sTime.getTime()) / parseInt(1000 * 3600 * 24))); } ``` ### Java 在 Java 中,可使用`SimpleDateFormat`类把字符串日期解析为`Date`对象,接着计算两个`Date`对象的毫秒数差值,最后将其转换为天数。 ```java import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateDifference { public int differDays(String startDateString, String endDateString) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date start = sdf.parse(startDateString); Date end = sdf.parse(endDateString); int differ = (int) ((end.getTime() - start.getTime()) / (3600 * 24 * 1000)); return differ; } } ``` 使用示例: ```java import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) { String s1 = "2019-01-06"; String s2 = "2019-01-07"; try { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); int day = (int) ((df.parse(s2).getTime() - df.parse(s1).getTime()) / (24 * 60 * 60 * 1000)); System.out.println(day); } catch (ParseException e) { e.printStackTrace(); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值