Skip to content
created by Aha00aAha00a at 2009-03-13
last modified by Aha00aAha00a at 2015-10-21
revision: 6

C# DateTime

1. ToString()

DateTime타입의 ToString() 호출시, 제어판및 언어 옵션의 설정에 따라 포매팅이 달라지기 때문에, 아래와 같은 문자열로 무조건 고정시켜놓고 사용했었다.

public const string sDateFormat = "yyyy-MM-dd HH:mm:ss";

하지만 이 방법도 잘못되었다는 것을 알게 되었다.

제어판의 및 언어 옵션에서 구분 기호구분 기호를 바꿀 수 있다는 생각을 하지도 못했고, 바꾼다 하더라도 포매팅 문자열도 바뀐다는 생각은 하지 못했다. 그래서 구분 기호를 @와 같은 것으로 변경해 놓았다면 2008@12@04 19@19@19와 같은 형태로 나오게 된다. 덕분에 특정 PC에서만 오류가 발생! 덜덜..

결국 해결책은 구분기호들에게도 Escape를 해 주는 것.

public const string sDateFormat = @"yyyy\-MM\-dd HH\:mm\:ss";

포매터가 -:를 특별 취급하여 시스템 설정으로 바꿔 준다니, 도큐먼트를 제대로 안 읽은 내가 바보지.. 정말.. 이런 버그가 발생할 줄은 몰랐다. 세상에 완벽한 프로그램은 없고, 완벽해보이는 프로그램에는 그만큼 완벽하게 숨어있는 버그가 숨어있다는 말을 다시한번 생각나게 한 사건이었다.

-- 2008-12-04 19:37

2. See Also

2.2. Similar Pages

Similar pages by cosine similarity. Words after page name are term frequency.

2.3. Adjacent Pages

Control
≤ 32
all
1.0x
1.0x
80
-120
ON
Metrics
Nodes(visible/total)0/0
Links(visible/total)0/0
Avg degree0.00
Depth coverage0
Queue(fetch/graph)0 / 0
Zoom(scale)1.00x
Ctrl/⌘ + Scroll: Zoom
Root 1-hop 2-hop+