การคำนวณวันที่ในอนาคตหรืออดีต

Google Apps Script:
การคำนวณวันที่ในอนาคตหรืออดีต

วิธีการ:

ใน Google Apps Script ซึ่งอิงตาม JavaScript คุณสามารถจัดการวันที่โดยใช้วัตถุ Date นี่คือวิธีการคำนวณวันที่ในอนาคตและอดีต:

การคำนวณวันที่ในอนาคต

เพื่อคำนวณวันที่ในอนาคต คุณสร้างวัตถุวันที่สำหรับวันปัจจุบันและจากนั้นเพิ่มจำนวนวันที่ต้องการ (หรือหน่วยเวลาอื่นๆ) เข้าไป

// วันปัจจุบัน
var today = new Date();

// คำนวณวันที่ 10 วันในอนาคต
var futureDate = new Date(today);
futureDate.setDate(today.getDate() + 10);

Logger.log("Future Date: " + futureDate.toDateString());

การคำนวณวันที่ในอดีต

เช่นเดียวกัน เพื่อหาวันที่ในอดีต คุณหักจำนวนวันออกจากวันปัจจุบัน

// วันปัจจุบัน
var today = new Date();

// คำนวณวันที่ 10 วันในอดีต
var pastDate = new Date(today);
pastDate.setDate(today.getDate() - 10);

Logger.log("Past Date: " + pastDate.toDateString());

ตัวอย่างผลลัพธ์

สิ่งนี้จะแสดงผลออกมาประมาณดังนี้ (สมมติวันนี้คือวันที่ 15 เมษายน 2023):

Future Date: อังคาร 25 เม.ย. 2023
Past Date: พุธ 05 เม.ย. 2023

จำไว้ว่า วัตถุ Date ใน JavaScript (และด้วยเหตุนี้ใน Google Apps Script) จะปรับเปลี่ยนเดือนและปีโดยอัตโนมัติเมื่อคุณเพิ่มหรือลบวัน

ลงลึกกว่านั้น

การจัดการกับวันที่โดยใช้วัตถุ Date เริ่มต้นมาจากการใช้งาน JavaScript ในช่วงแรก ๆ ตลอดเวลาวิธีนี้ค่อนข้างคงที่ ให้วิธีที่ตรงไปตรงมาสำหรับนักพัฒนาในการจัดการกับวันที่โดยไม่ต้องใช้ไลบรารีภายนอก อย่างไรก็ตาม สำหรับการดำเนินการที่ซับซ้อนกว่า เช่น การปรับเวลาตามโซนเวลา หรือเมื่อทำงานกับข้อมูลที่ขึ้นกับวันที่เป็นจำนวนมาก ไลบรารี เช่น Moment.js หรือ Luxon ที่ทันสมัยกว่าอาจมีฟีเจอร์เพิ่มเติมและการจัดการที่ง่ายขึ้น

ใน Google Apps Script โดยเฉพาะ แม้ว่าจะมีวัตถุ Date สำหรับใช้งานโดยตรงและคงความเรียบง่าย แต่ก็สำคัญต้องระมัดระวังว่าการคำนวณวันที่อาจส่งผลต่อประสิทธิภาพสคริปต์และเวลาในการดำเนินการได้อย่างไร โดยเฉพาะอย่างยิ่งในทริกเกอร์ที่ขับเคลื่อนด้วยเวลาหรือการจัดการสเปรดชีตจำนวนมาก นอกจากนี้ ในขณะที่ Google Apps Script มีวิธีการในตัวเพื่อจัดการกับวันที่ในระบบนิเวศของมัน (เช่น ใน Google Sheets หรือ Calendar) การรวมไลบรารีภายนอกหรือใช้ประโยชน์จากบริการขั้นสูงของ Google อาจมีประโยชน์มากกว่าสำหรับสถานการณ์ที่ซับซ้อน

ดังนั้น ในขณะที่เทคนิควัตถุ Date ของ JavaScript อาจเพียงพอสำหรับการคำนวณแบบตรงไปตรงมา การสำรวจไลบรารีหรือบริการภายนอกอาจเพิ่มฟังก์ชันการทำงานสำหรับความต้องการที่สลับซับซ้อนมากขึ้น