2009-06-01 4 views
0

link text.Net : DateRange를 입력 할 수 없습니다. 날짜 :

동일한 문제가 있습니다. 내 날짜 형식은 MM/dd/yyyy입니다. 내 시스템에서 날짜 형식을 찾고 코드로 변경하려면 어떻게해야합니까?

+1

링크 된 스레드가 사라질 수 있기 때문에이 사이트의 질문에 대한 텍스트도 포함시켜야합니다. 앞으로이 스레드를 읽는 사람이 미래에 너는 넌 몰라. 언급했다. – Kelsey

답변

0

current thread에 적절한 문화권을 설정해야합니다. DateTime.Parse는 현재 스레드 (BTW, I love you, Reflector!)의 문화에서 날짜 설정을 사용합니다 "DateTimeFormatInfo.CurrentInfo"입니다

public static DateTime Parse(string s) 
{ 
    return DateTimeParse.Parse(s, DateTimeFormatInfo.CurrentInfo, DateTimeStyles.None); 
} 

:

public static DateTimeFormatInfo CurrentInfo 
{ 
    get 
    { 
     CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture; 
     if (!currentCulture.m_isInherited) 
     { 
      DateTimeFormatInfo dateTimeInfo = currentCulture.dateTimeInfo; 
      if (dateTimeInfo != null) 
      { 
       return dateTimeInfo; 
      } 
     } 
     return (DateTimeFormatInfo) currentCulture.GetFormat(typeof(DateTimeFormatInfo)); 
    } 
} 

세계화에 대해 어떻게에 많이 있습니다, (example of such how-to :) 검색을 시도하십시오.

0

날짜 개체 인 경우 ToString 메서드를 사용하여 서식을 지정하면됩니다.

http://msdn.microsoft.com/en-us/library/system.datetime.tostring.aspx

코드 샘플 :

using System; 

public class DateToStringExample 
{ 
    public static void Main() 
    { 
     DateTime dateValue = new DateTime(2008, 6, 15, 21, 15, 07); 
     // Create an array of standard format strings. 
     string[] standardFmts = {"d", "D", "f", "F", "g", "G", "m", "o", 
           "R", "s", "t", "T", "u", "U", "y"}; 
     // Output date and time using each standard format string. 
     foreach (string standardFmt in standardFmts) 
     Console.WriteLine("{0}: {1}", standardFmt, 
          dateValue.ToString(standardFmt)); 
     Console.WriteLine(); 

     // Create an array of some custom format strings. 
     string[] customFmts = {"h:mm:ss.ff t", "d MMM yyyy", "HH:mm:ss.f", 
          "dd MMM HH:mm:ss", @"\Mon\t\h\: M", "HH:mm:ss.ffffzzz" }; 
     // Output date and time using each custom format string. 
     foreach (string customFmt in customFmts) 
     Console.WriteLine("'{0}': {1}", customFmt, 
          dateValue.ToString(customFmt)); 
    } 
} 
// This example displays the following output to the console: 
//  d: 6/15/2008 
//  D: Sunday, June 15, 2008 
//  f: Sunday, June 15, 2008 9:15 PM 
//  F: Sunday, June 15, 2008 9:15:07 PM 
//  g: 6/15/2008 9:15 PM 
//  G: 6/15/2008 9:15:07 PM 
//  m: June 15 
//  o: 2008-06-15T21:15:07.0000000 
//  R: Sun, 15 Jun 2008 21:15:07 GMT 
//  s: 2008-06-15T21:15:07 
//  t: 9:15 PM 
//  T: 9:15:07 PM 
//  u: 2008-06-15 21:15:07Z 
//  U: Monday, June 16, 2008 4:15:07 AM 
//  y: June, 2008 
//  
//  'h:mm:ss.ff t': 9:15:07.00 P 
//  'd MMM yyyy': 15 Jun 2008 
//  'HH:mm:ss.f': 21:15:07.0 
//  'dd MMM HH:mm:ss': 15 Jun 21:15:07 
//  '\Mon\t\h\: M': Month: 6 
//  'HH:mm:ss.ffffzzz': 21:15:07.0000-07:00 
0

귀하의 문제는 당신이/영문 파일의 날짜를 지정하고 아마 일/월 때 (mm/dd/yyyy)을 할 형식을 기대한다는 것입니다 yyyy 그래서 그것은 폭파하고있다. 다른 날짜 형식을 사용하는 시스템에 배포하고 있습니까?

그렇다면 코드를 수동으로 범위를 추가하고 날짜 개체가 필요한 예상 형식을 사용하여 범위를 할당하십시오.

예 :

YourDateValidator.MaximumValue = YourMaxDateTimeObject; 
YourDateValidator.MinimumValue = YourMinDateTimeObject; 
+0

@ Jack이 답변이나 다른 도움이 도움이된다면,이 질문을 읽는 다른 사람들이 당신을 도운 해결책을 찾을 수 있도록 허용 된 대답을 설정해야합니다. – Kelsey

관련 문제