날짜를 문자열로 변환하기

Arduino:
날짜를 문자열로 변환하기

How to: (방법)

#include <Wire.h>
#include <RTClib.h>

RTC_DS3231 rtc;

void setup() {
  Serial.begin(9600);

  if (!rtc.begin()) {
    Serial.println(F("Couldn't find RTC"));
    while (1);
  }

  if (rtc.lostPower()) {
    Serial.println(F("RTC lost power, let's set the time!"));
    // Following line sets the RTC to the date & time this sketch was compiled
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  }
}

void loop() {
  DateTime now = rtc.now();

  char dateStr[11];
  snprintf(dateStr, sizeof(dateStr), "%04d-%02d-%02d", now.year(), now.month(), now.day());
  Serial.println(dateStr);

  delay(1000);
}

Sample output:

2023-03-15

Deep Dive (신중한 분석)

날짜를 문자열로 변환하는 것은 컴퓨터 프로그래밍 초창기부터 있었던 작업입니다. Arduino에서는 RTClib.h 같은 라이브러리를 사용하여 실시간 클록(RTC)에서 날짜와 시간을 읽은 다음 snprintf() 함수로 포매팅합니다. 대안으로는 String 객체와 문자열 연결을 사용할 수 있지만, 이는 메모리를 많이 사용하고 느리므로 비효율적일 수 있습니다.

See Also (더 보기)