2010-06-19 2 views

답변

9

귀하의 사용자 정보를 보면 인도 시간대 인 것처럼 보입니다. New Delhi 구역은 UTC보다 5 시간 30 분 앞서 있습니다. 날짜/시간 문자열의 끝에있는 "Z"는 UTC를 나타냅니다. UTC는 사용자의 시간대에서 6시 28 분 UTC가 11시 58 분입니다.

로컬 DateTime을 사용하고 ToUniversalTime을 사용하여 UTC로 변환 할 수 있습니다. 그러나 현재 시간을 얻으려면 DateTime.UtcNow을 사용하면됩니다. 당신이 UTC에서 DateTime는이 형식 문자열이 같은 방식으로 포맷 것이다했으면

:

yyyy-MM-ddTHH:mm:ss.fffffff00K 

이 그냥 여분이 제로에로, 왕복 형식과 매우 유사 끝. 그들은 DateTime이 10 분의 1 마이크로 초를 넘지 않는 정밀도를 가지고있는 반면, 샘플 문자열은 나노초까지 내려가 있기 때문에 0으로 하드 코딩됩니다. 예를 들어

는 :

2010-06-19T13:57:15.885578200Z 
+0

고마워, 나는 대답 XII에서 이걸 알아 냈어. 그러나 상세한 답변을 제공 할 자격이 있습니다. –

1

나에게 Universaltime처럼 보입니다.

Grz, Kris.

+0

이 편집에 무슨 일이 :

DateTime now = DateTime.UtcNow; string s = now.ToString("yyyy-MM-ddTHH:mm:ss.fffffff00K", CultureInfo.InvariantCulture); 

는 다음과 같이 생성? 나는 변화가 보이지 않고 왜 그것이 필요 했는가? – XIII

0

이것은 Round-trip ("O", "o") Format Specifier를 사용하여 날짜 시간의 표현처럼 보이는 : 그것은 round-trip format 포맷 UTC과 같은

var s = "2010-06-19T06:28:01.077148400Z"; 

var dt = DateTime.Parse(s, null, DateTimeStyles.RoundtripKind); 

Console.WriteLine(dt.ToString("o")); // prints "2010-06-19T06:28:01.0771484Z" 
+0

인쇄 결과를 보셨습니까? "2010-06-19T06 : 28 : 01.0771484Z"- 마지막 두 개의 0이 누락되었습니다. –

+2

Skeet! 네가 이겼다! 그러나 이번에 만! \ * 흔들림 주먹 \ * – dtb

0

.

+1

아닙니다. 초 단위로 소수점 9 자리가 있고 7이 아닙니다. –

+0

나는 고쳐 놨어. 다시. :) –