이상한 언어가 있습니다.ToShortDateString이 예상보다 다른 문화적 형식을 반환 함
우리는 Windows XP (32 비트) PC에서 문제없이 올해 초부터 실행되고있는 C# 인터페이스를 가지고 있습니다. 우리는 방금 SCCM에 의해 설치된 응용 프로그램을 사용하여 PC를 Windows 7 (64 비트)로 업그레이드했습니다.
최근 실행 된 텍스트 영역의 날짜가 영국 형식 (2014 년 2 월 5 일) 대신 미국 형식 (2014 년 5 월 2 일)으로 시작되었습니다. 사용되고
코드는 :
FromFormat 소스 데이터 오브젝트이다string Lines = FromFormat.Text + " from " + FromFormat.Charge_From.ToShortDateString() + " to " + FromFormat.Charge_To.ToShortDateString() +".";
, Charge_From & Charge_To DataTime는 변수이다.
우리는 PC의 지역 설정을 확인하고 닷넷에서 PC의 설정이 두 가지가 영국 형식 테스트 애플 리케이션을위한 코드로 설정되어 표시하는 작은 테스트 응용 프로그램을 만들었습니다
label1.Text = DateTime.Now.ToString();
label2.Text = DateTime.Now.ToString("dd MMM yyyy");
label3.Text = DateTime.Now.ToShortDateString();
label4.Text = Thread.CurrentThread.CurrentCulture.EnglishName;
나는 알고를 ToShortDateString()
을 ToString("dd/MM/yyyy")
으로 바꿔 올바른 형식으로 만들 수는 있지만 내 질문은 왜 이런 일입니까?
Windows 7 업그레이드와 관련이 있습니까? 또는 SCCM?
'현재의 문화'는 무엇입니까? 그것은'en-GB' 또는'en-US'입니까? –
_ ToString ("dd/MM/yyyy")을 ToShortDateString()으로 대체하여 올바른 형식을 강제 할 수 있음을 알고 있습니다. "_ 올바르지 않습니다."ToString ("dd/MM/yyyy")'또한 '/'대신 curent culture의 날짜 구분자를 사용하십시오. –
모든 PC가 en-GB를 사용하고 있다고 말할 수 있습니다. – Tony