1: คำนวณจำนวนวันที่แตกต่างกันระหว่างวันที่สองวัน
ตัวอย่างเช่น:
str1 = "2002-01-20"
str2 = "2002-10-11"
จะคำนวณจำนวนวันระหว่าง str1 ถึง str2 โดยใช้ javaScript ได้อย่างไร
คัดลอกรหัสรหัสดังต่อไปนี้:
<html>
<หัว>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</หัว>
<ร่างกาย>
<button onClick="btnCount_Click()">คำนวณส่วนต่างของวัน</button>
<ภาษาสคริปต์ = "จาวาสคริปต์">
ฟังก์ชั่น btnCount_Click(){
s1 = "2002-1-10"
s2 = "2002-10-1"
การแจ้งเตือน (DateDiff (s1,s2))
-
//ฟังก์ชันคำนวณส่วนต่างของวันแบบสากล
ฟังก์ชั่น DateDiff(sDate1, sDate2){/ //sDate1 และ sDate2 อยู่ในรูปแบบ 2002-12-18
var aDate, oDate1, oDate2, iDays
aDate = sDate1.split("-")
oDate1 = วันที่ใหม่ (aDate[1] + '-' + aDate[2] + '-' + aDate[0]) // แปลงเป็นรูปแบบ 12-18-2002
aDate = sDate2.split("-")
oDate2 = วันที่ใหม่ (aDate[1] + '-' + aDate[2] + '-' + aDate[0])
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24) // แปลงความแตกต่างเป็นมิลลิวินาทีเป็นวัน
กลับ iDays
-
2: คำนวณวันที่หลังจากจำนวนวันที่กำหนด
ใน JavaScript ให้คำนวณวันที่ที่อยู่หลังจากวันนี้หลายวัน สะดวกน้อยกว่าใน .Net มาก ฟังก์ชั่นสามารถแก้ปัญหาได้ ปัญหานี้ทำให้ฉันหนักใจอยู่พักหนึ่งและในที่สุดปัญหาก็แก้ไขได้ด้วยการแนะนำชาวเน็ต โพสต์และแบ่งปัน
คัดลอกรหัสรหัสดังต่อไปนี้:
<script language="javascript" type="text/javascript">
var startDate = วันที่ใหม่ (); var intValue = 0;
var endDate = null;
intValue = startDate.getTime(); intValue += 100 * (24 * 3600 * 1000);
endDate = วันที่ใหม่ (intValue);
การแจ้งเตือน (endDate.getFullYear()+"-"+ (endDate.getMonth()+1)+"-"+ endDate.getDate());
</สคริปต์>
100 ด้านบนแสดงถึงวันที่ 100 วันต่อมา ซึ่งคุณแก้ไขได้ Date.getTime() ใน JS รองรับได้เฉพาะวันที่หลัง 1970.01.01 เท่านั้น และเดือนคือ 0 - 11 ซึ่งแตกต่างออกไปเล็กน้อย ดังนั้นควรหลีกเลี่ยง แน่นอนคุณยังสามารถคำนวณวันที่หลังจากวันที่ระบุได้
คัดลอกรหัสรหัสดังต่อไปนี้:
<script language="javascript" type="text/javascript">
var startDate = วันที่ใหม่ (2007, (8-1), 1, 10, 10, 10);
var intValue = 0;
var endDate = null;
intValue = startDate.getTime(); intValue += 100 * (24 * 3600 * 1,000);
endDate = วันที่ใหม่ (intValue);
การแจ้งเตือน (endDate.getFullYear()+"-"+ (endDate.getMonth()+1)+"-"+ endDate.getDate());
</สคริปต์>