การแปลงวันที่เป็นสตริง

Arduino:
การแปลงวันที่เป็นสตริง

วิธีการ:

นี่คือตัวอย่างง่ายๆ ในการแปลงวันที่เป็นสตริงบน Arduino:

#include <RTClib.h>

RTC_DS3231 rtc;

void setup() {
  Serial.begin(9600);
  if (!rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }
  
  DateTime now = rtc.now();
  char dateString[11]; // พื้นที่เพียงพอสำหรับ "DD/MM/YYYY"

  sprintf(dateString, "%02d/%02d/%04d", now.day(), now.month(), now.year());
  Serial.println(dateString);
}

void loop() {
  // ไม่จำเป็นต้องทำการแปลงซ้ำ
}

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

23/03/2023

ลงลึกเพิ่มเติม

ตั้งแต่อดีต การแสดงเวลาได้เป็นเรื่องซับซ้อนของการเขียนโปรแกรม เนื่องจากมีรูปแบบและเขตเวลาที่แตกต่างกัน Arduino มีฟังก์ชันที่เกี่ยวข้องกับเวลาดูแลความซับซ้อนเหล่านี้ ช่วยให้เราสามารถมุ่งเน้นไปที่การทำให้ข้อมูลเวลามีความหมาย

แม้เราจะใช้ไลบรารี RTClib แต่ทางเลือกอื่นๆ เช่น TimeLib.h ก็มีฟังก์ชันเฉพาะที่คล้ายคลึงกัน การเลือกใช้ขึ้นอยู่กับความชอบและคุณสมบัติเฉพาะ เช่น การจัดการเขตเวลาภายใน

ฟังก์ชันหลัก sprintf ที่ใช้ที่นี่ใช้เพื่อจัดรูปแบบข้อมูลเป็นสตริง มันอิงจากฟังก์ชันไลบรารีมาตรฐานของภาษา C ซึ่งแข็งแกร่งแต่อาจใช้หน่วยความจำเยอะสำหรับการใช้งานที่ซับซ้อน ทางเลือกที่เบากว่าและพื้นฐานกว่าคือ snprintf ซึ่งช่วยให้แน่ใจว่าคุณจะไม่เกินขนาดของ buffer และปลอดภัยกว่าจาก overflow ของ buffer

ดูเพิ่มเติม