반응형
DateTime.ParseExact (String, String, IFormatProvider)에 IFormatProvider가 필요한 이유는 무엇입니까?
우리가 사용하는 경우 ParseExact
에 방법 정확한 날짜 - 시간의 지정된 형식을 사용하여 분석을, 왜 우리는 IFormatProvider를 객체를 제공해야합니까? 그 뒤에 요점이 무엇입니까?
예를 들면 :
DateTime.ParseExact(dateString, format, provider);
provider
여기 가 왜 필요한 가요?
IFormatProvider 개체를 제공해야하는 이유는 무엇입니까? 그 뒤에 요점이 무엇입니까?
문화 별 옵션을 허용합니다. 특히:
- 사용하는 형식은 표준 날짜 / 시간 형식 일 수 있습니다. 이는 문화에 따라 다른 패턴을 의미합니다.
:
또는/
패턴에서 사용할 수 있습니다 . 이는 각각 시간 구분 기호 또는 날짜 구분 기호에 대한 문화 별 문자를 의미합니다.- 월과 일 이름을 구문 분석 할 때 분명히 문화에 의존합니다.
- 문화에 따라 결과에 영향을 미치는 기본 달력도 결정됩니다.
마지막 요점의 예로, 미국이나 사우디 아라비아의 문화에서 해석되는 동일한 정확한 문자열과 형식을 고려하십시오.
using System;
using System.Globalization;
class Test
{
static void Main()
{
CultureInfo us = new CultureInfo("en-US");
CultureInfo sa = new CultureInfo("ar-SA");
string text = "1434-09-23T15:16";
string format = "yyyy'-'MM'-'dd'T'HH':'mm";
Console.WriteLine(DateTime.ParseExact(text, format, us));
Console.WriteLine(DateTime.ParseExact(text, format, sa));
}
}
미국 문화로 구문 분석 할 때 그레고리력이 사용되는 반면 사우디 아라비아 문화로 구문 분석 할 때는 Um Al Qura 달력이 사용됩니다. 여기서 1434는 현재 우리가있는 해입니다 (이 답변을 작성).
반응형
'programing' 카테고리의 다른 글
Python 사전 : TypeError : 해시 할 수없는 유형 : 'list' (0) | 2021.01.15 |
---|---|
조각 만들기 : 생성자 대 newInstance () (0) | 2021.01.15 |
Delphi 2006-2010 오류 : "C : \ Users \ Admin \ AppData \ Local \ Temp \ EditorLineEnds.ttr 파일을 만들 수 없습니다." (0) | 2021.01.15 |
GitLab에 릴리스 / 바이너리를 저장하는 방법은 무엇입니까? (0) | 2021.01.15 |
GitLab CI를 사용하여 로컬에서 테스트를 실행 하시겠습니까? (0) | 2021.01.15 |