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 อาจเพียงพอสำหรับการคำนวณแบบตรงไปตรงมา การสำรวจไลบรารีหรือบริการภายนอกอาจเพิ่มฟังก์ชันการทำงานสำหรับความต้องการที่สลับซับซ้อนมากขึ้น