날짜 표시 형식 문자열에 대한 약간의 이해

巴扎黑
풀어 주다: 2016-12-20 17:16:55
원래의
1301명이 탐색했습니다.

http://www.cnblogs.com/longsan/archive/2006/04/05/367462.html

오늘 한 네티즌이 Q 그룹에 다음 코드를 게시했습니다.

strings=Calendar1.TodaysDate.ToString("d");

"MM/dd/yyyy"를 표시하고 싶지만 항상 "04-01-2006"이 표시되는데 이는 내가 원하는 것이 아닙니다. "2006년 4월 1일".

저도 처음에는 "MM/dd/yyyy"(사용자 정의 형식 문자열) 또는 "d"
(표준 형식 문자열)를 사용할 수 있다고 당연하게 여겼지만, 실험을 해본 결과 항상 "04-01-2006"을 표시합니다. 나중에 도움말을 확인하고 이 문제에 대해 다음과 같은 이해를 얻었습니다.

1. 표준 형식 문자열의 표시는 프로그램이 실행되는 머신의 로컬 영역, 즉 CultrueInfo와 관련이 있습니다. . 예를 들어, 컴퓨터의 로컬 지역 설정에서 설정된 날짜 사이의 구분 기호는 "-"이며, 로컬 지역 설정을 수정하지 않는 한 위 코드를 통해 표시되는 내용은 항상 "-"입니다.

2. 위 코드의 기본 표시 모드는 미국 영어에서는 "04/01/2006", 중국어에서는 "04-01-2006", 독일어에서는 "04.01.2006"입니다.

3. 로컬 영역 설정을 수정하지 않고 "04/01/2006"을 표시하려면 사용자 정의 형식 문자열을 사용해야 합니다.

strings=Calendar1.TodaysDate.ToString("MM'/'dd'/'yyyy");


동봉된 두 개의 작은따옴표는 임의의 문자열이며, 표시되면 직접 표시됩니다.

여러 가지 해결책:

첫 번째는 위의 3에서 언급한 바와 같습니다.

두 번째 유형

Web.Config에서 다음을 추가합니다.

이것이 가장 편리하지만 시도해보지 않았습니다.

세 번째 유형

제어판->지역 옵션->사용자 지정( 시간 오른쪽 버튼)

예, 하지만 휴대가 불가능합니다.

참고사항:

날짜 형식 표시
SQL에서 DateTime은 8자리 날짜입니다. 지정된 형식은 2003-12-31 00:00:00
ASP.NET에서 가장 일반적으로 사용되는 형식은 2003-입니다. 12- 31일의 일부일 뿐입니다.
DateTime.Now.ToString("d") 또는 DateTime.Now.ToShortDateString();
을 사용할 수 있지만 특정 형식이 2003/12/인지 여부에 따라 다릅니다. 31 또는 2003-12-31. 시스템 구성 날짜 구성은 무엇입니까?
2003-12-31 사양을 확인하려면 .Tostring() 사용자 정의 형식을 사용하세요.
문자 형식으로 보면 위에서 언급한 문서를 볼 수 있습니다.
예를 들어 .ToString("yyyy-MM-dd") 는 2003-11-25를 반환합니다.
.ToString("yyyyMMdd")는 20031125를 반환합니다

d 앞에 0이 없는 숫자로 날짜를 표시합니다(예: 1). 사용자 정의 숫자 형식에 이 문자만 있는 경우

%d를 사용하세요.
dd는 앞에 0이 붙은 숫자(예: 01)로 날짜를 표시합니다.
ddd 날짜를 약식 형식(예: Sun)으로 표시합니다.
dddd 요일을 전체 이름으로 표시합니다(예: 일요일).
M 앞에 0이 없는 숫자로 월을 표시합니다(예: 1월은 1로 표시됨). 사용자 정의 숫자 형식에서 이것이 유일한

문자인 경우 %M을 사용하세요.
MM은 월을 앞에 0이 붙은 숫자로 표시합니다(예: 01/12/01).
MMM은 월을 약어로 표시합니다(예: Jan).
MMMM 월을 전체 월 이름으로 표시합니다(예: 1월).
gg 연대/에포크 문자열(예: A.D.)을 표시합니다.
h 12시간제를 사용하여 앞에 0이 없는 숫자로 시간을 표시합니다(예: 오후 1:15:15). 이것이 사용자 정의 숫자 형식의 유일한 문자인 경우 %h를 사용하십시오.
hh 12시간제를 사용하여 앞에 0이 붙은 숫자로 시간을 표시합니다(예: 오후 01:15:15).
H 24시간제를 사용하여 앞에 0이 없는 숫자로 시간을 표시합니다(예: 1:15:15). 사용자 정의 숫자

형식에서 이것이 유일한 문자인 경우 %H를 사용하세요.
HH는 24시간제를 사용하여 앞에 0이 붙은 숫자(예: 01:15:15)로 시간을 표시합니다.
m 앞에 0이 없는 숫자로 분을 표시합니다(예: 12:1:15). 사용자 정의 숫자 형식에서

문자가 이 문자뿐인 경우 %m을 사용하세요.
mm 앞에 0이 붙은 숫자로 분을 표시합니다(예: 12:01:15).
s는 초를 앞에 0이 없는 숫자로 표시합니다(예: 12:15:5). 사용자 정의 숫자 형식에서

문자가 유일한 경우 %s를 사용하세요.
ss는 앞에 0이 붙은 숫자로 초를 표시합니다(예: 12:15:05).
F는 초의 소수 부분을 표시합니다. 예를 들어, ff는 100분의 1초 단위로 표시되고, ffff는 10,000초 단위로 표시됩니다.

사용자 정의 형식에는 최대 7개의 f 기호를 사용할 수 있습니다. 사용자 정의 숫자 형식에서 이것이 유일한 문자인 경우 %f를 사용하십시오.
T는 12시간제를 사용하며 정오 이전 시간에는 대문자 A를 표시하고 정오부터 오후 11시 59분까지의 시간에는 대문자 P를 표시합니다.

사용자 정의 숫자 형식에서 이것이 유일한 문자인 경우 %t를 사용하십시오.
tt는 12시간제를 사용하고 정오 이전의 모든 시간에 대해 대문자 AM을 표시합니다.

정오부터 오후 11시 59분 사이의 모든 시간에 대해서는 대문자 PM을 표시합니다.
y 연도(0-9)를 앞에 0이 없는 숫자로 표시합니다. 사용자 정의 숫자 형식에 이것이 유일한 문자인 경우

%y를 사용하세요.
yy 해당하는 경우 앞에 0을 붙인 두 자리 형식으로 연도를 표시합니다.
yyy는 연도를 4자리 형식으로 표시합니다.
yyyy는 연도를 4자리 형식으로 표시합니다.
z는 앞에 0을 붙이지 않고 시간대 오프셋을 표시합니다(예: -8). 사용자 정의 숫자 형식에 이 문자만 있는 경우

%z를 사용하세요.
zz 앞에 0을 사용하여 시간대 오프셋을 표시합니다(예: -08)
zzz 전체 시간대 오프셋을 표시합니다(예: -08:00)

시간 형식에도 동일하게 수행할 수 있습니다. 사용자 정의 형식을 사용하여 원하는 형식으로 출력할 수 있습니다.
위 표의 문자를 순서에 관계없이 임의의 조합으로 사용할 수 있습니다. 예를 들어 yyyy-yyyy라고 쓰면 가능합니다.

참고: 형식은 DateTime 형식이어야 합니다. SQL의 형식은 동일해야 합니다. 그렇지 않으면 형식이 잘못되거나 잘못됩니다. 특히 DataGrid 형식에서는 {0:IFromat},

2) 날짜 입력
날짜 형식을 입력할 때 일반적으로 DateTime.Pares()
를 사용합니다. 그러나 이 형식의 변환은 상당히 제한적이며 일부 C#에서는 사용자가 작성한 날짜를 인식하지 못합니다. 20031231과 같습니다. 2003-

12-31이라는 것은 누구나 알고 있습니다. C#에서는 이를 인식할 수 없습니다.
//언어 국가 설정
System.IFormatProvider format= new System .Globalization.CultureInfo("zh-CN",true);
//변환 형식 지정
Response.Write(DateTime.ParseExact(this.TextBox1.Text,"yyyyMMdd",format));
이렇게 하면 20031231번의 날짜 형식을 볼 수 있습니다

그런데 yyyyMMdd 형식만 변환할 수 있고 다른 형식은 변환할 수 없다는 점이 아쉽습니다.
그러나 .NET은 또 다른 오버로드를 제공합니다.
public static DateTime ParseExact(string, string[], IFormatProvider, DateTimeStyles);
지정된 여러 날짜 형식을 변환할 수 있습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!