문제

이 형식의 '20090219000000.000000+480'으로 시간을 지정하는 WMI 쿼리가 있습니다.

누군가가 이것이 어떤 형식인지 말해 줄 수 있고 .NET과 함께 작동하는 내장 기능이 있습니까?

편집하다

이 시간 값은 내가 찾은 샘플 쿼리에서 나온 것입니다. 나는 그것을 생성하는 데 시간 값이 어떤 시간 값을 사용했는지 모르겠습니다. 시간 값을이 형식으로 변환 할 수 있어야합니다.

편집 2

나는 이번에 있다는 것을 알았다 CIM_DATETIME 체재.

도움이 되었습니까?

해결책

이것은 분리기가없는 표준 날짜 시간 문자열처럼 보입니다.

'20090219000000.000000+480'

'yyyymmddhhmmss.ffffff+480'

Yyyy- 4 자리의 해.
MM- 숫자 달. 한 자릿수 달은 0이됩니다.
DD- 월의 날. 한 자리 수의 날에는 0이됩니다.
HH- 12 시간 시계의 시간. 한 자릿수 시간은 0이됩니다. (이것은 또한 HH 일 수도 있습니다. 이는 24 시간 시계의 시간 일 수 있습니다.
MM- 분. 한 자리 숫자 분은 0이됩니다.
FFFFFF- 6 자리 정밀도에서 1 초의 분획.

"+480"은 표준이 아니지만 타임 존 표시기 일 가능성이 높습니다. 일반적으로 시간 영역은 UTC의 시간 (또는 시간 및 분)으로 표시됩니다. 이것은 아마도 몇 분 밖에 걸리지 않습니다. 따라서 표준 형식 지정자가 없습니다.

.NET의 DateTime 클래스는이 값으로 작업하는 데 사용할 수있는 것입니다. 그러나 나머지 문자열을 실제 DateTime 변수로 구문 분석하기 전에 "+480"부분을 꺼내고 싶을 것입니다. 그런 다음 올바른 시간대로 조정하거나 시간대 변환 (몇 분에서 몇 시간/분)을 미리 수행하고 "+480"을 올바른 시간대 표현으로 변경 한 다음 모든 것을 datetime.parse로 전달할 수 있습니다.

다른 팁

다른 사람들이 제안했듯이 문자열은 DateTime MOF 데이터 유형. 고정 길이 문자열이며 해당 구조에 대한 세부 정보를 찾을 수 있습니다. 여기. .NET 사용 시스템 관리 네임 스페이스 WMI에 액세스하고 클래스 중 하나에 액세스하는 것은 다음과 같습니다 ManagementDateTimeConverter WMI DateTime 값으로 작업을 용이하게하는 클래스.

이것을 살펴보십시오 링크. 바로 보면 나는 그것이 yyyymmddhhmmss의 형식이라고 말합니다. [ 'f'문자의 전체 무리].

당신이 우리에게 날짜라고 말하면 도움이 될 것입니다. 시작시 2009 년에 yyyymmddhhmmss.ffffff+tz 일 수 있음을 시사합니다.

(F = 초 분율, TZ는 미세한 UTC와 차이가 있으므로 여기서 6 시간)

datetime.parseexact-methode (문자열, String, iformatprovider, dateTimestyles)로 이것을 구문 분석 할 수 있습니다.

형식은 "yyyymmddhhmmss.ffffffzzz"입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top