F#의 DateTime은 날짜 그리고 시간 정보를 모두 담고 있는 불변 객체예요. 날짜와 시간 정보는 DateTime에 내장된 속성을 통해 가져올 수 있어요.
DateTime을 조작하려면 메서드 중 하나를 호출하면 돼요. DateTime 값은 한 번 정의되고 나면 절대 변하지 않기 때문에, DateTime을 수정하는 것처럼 보이는 메서드도 실제로는 새로운 DateTime을 반환해요.
DateTime 인스턴스를 비교할 때는 기본 비교 연산자(<, > 등)를 사용할 수 있어요. 현재 날짜(와 시간)는 DateTime.Now 속성을 통해 가져올 수 있어요.
F#에서 날짜를 다룰 때 중요한 점은 날짜가 문화권에 따라 달라진다는 거예요. 따라서 string을 다루는 DateTime 메서드는 모두 현재 문화권에 영향을 받아요. string을 DateTime으로 파싱하는 DateTime.Parse() 메서드와 DateTime을 string으로 변환하는 DateTime 클래스의 ToString() 메서드가 여기에 해당해요.
sprintf 호출에서 DateTime을 사용할 때는 DateTime을 직접 string으로 변환해서 %s 문자열 자리 표시자를 쓰는 대신, %O 자리 표시자를 사용할 수 있어요. 이 자리 표시자는 DateTime을 자동으로 string 값으로 변환해 줘요.