Google Apps Script:
การแปลงวันที่เป็นสตริง
วิธีทำ:
Google Apps Script ที่พัฒนาจาก JavaScript ทำให้มีวิธีการหลายอย่างในการแปลงวันที่เป็นสตริง ด้านล่างเป็นตัวอย่างที่แสดงวิธีการต่างๆ:
การใช้เมธอด toString()
:
เมธอดที่ง่ายที่สุดคือการใช้เมธอด toString()
ซึ่งแปลงวัตถุวันที่เป็นสตริงในรูปแบบเริ่มต้น
var date = new Date(); // สร้างวัตถุวันที่ใหม่
var dateString = date.toString();
Logger.log(dateString); // ผลลัพธ์: "Wed Apr 05 2023 12:34:56 GMT-0700 (Pacific Daylight Time)"
การใช้เมธอด toDateString()
:
เพื่อให้ได้เฉพาะส่วนของวันที่ในรูปแบบที่อ่านได้โดยไม่มีข้อมูลเวลา toDateString()
สามารถใช้ได้
var date = new Date();
var dateString = date.toDateString();
Logger.log(dateString); // ผลลัพธ์: "Wed Apr 05 2023"
การใช้ Utilities.formatDate()
สำหรับรูปแบบที่กำหนดเอง:
เพื่อความควบคุมเหนือรูปแบบได้มากขึ้น Google Apps Script มี Utilities.formatDate()
เมธอดนี้ต้องการสามพารามิเตอร์: วัตถุวันที่, เขตเวลา, และสตริงรูปแบบ
var date = new Date();
var timeZone = Session.getScriptTimeZone();
var formattedDate = Utilities.formatDate(date, timeZone, "YYYY-MM-dd");
Logger.log(formattedDate); // ผลลัพธ์: "2023-04-05"
เมธอดนี้มีความแข็งแกร่งโดยเฉพาะในการสร้างวันที่ในรูปแบบที่เฉพาะเจาะจงตามสถานที่หรือตามความต้องการของแอปพลิเคชัน
ลงลึก
ความจำเป็นในการแปลงวันที่เป็นสตริงไม่เฉพาะเจาะจงแต่ใน Google Apps Script เท่านั้น; มันเกิดขึ้นในทุกภาษาการเขียนโปรแกรม อย่างไรก็ตาม วิธีการของ Google Apps Script ที่ได้มาจาก JavaScript มีชุดตัวเลือกที่ยืดหยุ่นสนับสนุนการสคริปต์แบบเว็บ Utilities.formatDate()
โดดเด่นด้วยการยอมรับความซับซ้อนของการทำงานกับเขตเวลา - ความท้าทายที่มักถูกมองข้าม
ทางประวัติศาสตร์, การจัดการวันที่และเวลาได้เป็นแหล่งของข้อบกพร่องและความซับซ้อนในการพัฒนาซอฟต์แวร์ หลักๆ เพราะความแตกต่างในเขตเวลาและรูปแบบ การเ Introduced Utilities.formatDate()
ใน Google Apps Script เป็นการยกย่องต่อการมาตรฐานการจัดการวันที่-เวลา โดยเฉพาะในบริบทของชุดผลิตภัณฑ์ของ Google ที่ถูกใช้โดยทั่วโลก
อย่างไรก็ตาม, เมื่อต้องการควบคุมเขตเวลา, ลอเคล, และรูปแบบอย่างแม่นยำ โดยเฉพาะในแอปพลิเคชันที่มีการสากลไว้, นักพัฒนาอาจพบว่าตัวเองกำลังใช้ไลบรารีภายนอกเช่น Moment.js
(แม้ว่าจะมีการเปลี่ยนไปใช้ Luxon
, Day.js
, และ date-fns
เนื่องจากข้อกังวลเรื่องขนาดบันเดิลและคุณสมบัติที่ทันสมัย) วิธีการนี้แน่นอนว่ามาพร้อมกับการแลกเปลี่ยนของการเพิ่มพันธะภายนอกและความซับซ้อนของโปรเจคที่เพิ่มขึ้น
แม้จะมีศักยภาพสำหรับไลบรารีภายนอก, Utilities.formatDate()
และเมธอดวันที่ของ JavaScript ในตัวเสนอโซลูชันที่แข็งแกร่งสำหรับกรณีการใช้งานทั่วไปส่วนใหญ่ นักพัฒนาที่ชาญฉลาดจะสมดุลระหว่างความเรียบง่ายและความสะดวกของฟังก์ชันในตัวกับพลังและความยืดหยุ่นของไลบรารีภายนอก ขึ้นอยู่กับความต้องการเฉพาะของโปรเจคของพวกเขา