'2020/11/06'에 해당되는 글 2건

  1. 2020.11.06 c# 문자열을 시간으로 (6)
  2. 2020.11.06 notepad++ 복수 키워드 검색하기(정규표현식)
Programming/c# & winform2020. 11. 6. 18:01

+ 2020.11.10

 

상당히 강력하게 해석을 해주는데 문제는.. 5/1/2008이 5월 1일인지 1월 5일인지 모르겠는데

일단은 "월/일/년" 으로 해석을 해준다. 다른 언어권에서도 저렇게 해주려나?

DateTime.Parse("5/1/2008 8:30:52 AM", System.Globalization.CultureInfo.InvariantCulture)

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.datetime?view=netcore-3.1]

 

---

 

[링크 : https://j07051.tistory.com/590]

[링크 : https://stackoverflow.com/questions/15203534/convert-todatetime-how-to-set-format]

[링크 : https://stackoverflow.com/questions/21383045/convert-string-to-datetime-with-form-yyyy-mm-dd-hhmmss-in-c-sharp/21383146]

'Programming > c# & winform' 카테고리의 다른 글

winform c# 폰트 바꾸면 다이얼로그 크기가 바뀐다?  (2) 2020.11.12
C# 시간 관련 클래스  (0) 2020.11.10
c# 문자열을 시간으로  (6) 2020.11.06
c#에서 ini 파일 사용하기  (0) 2020.11.05
C# UTC -> 지역시간  (0) 2020.11.05
c# gps(nmea parser)  (0) 2020.11.05
Posted by 구차니

댓글을 달아 주세요

  1. Zeliper

    DateTime.ParseExact로 사용하시는 포맷 몇개 만들고 분기해주시면 편할겁니다.

    string datestring = "05/01/2008 18:15:11";
    DateTime a = DateTime.ParseExact(datestring , "MM/dd/yyyy HH:mm:ss" , CultureInfo.InvariantCulture , DateTimeStyles.None);
    MessageBox.Show(a.ToString());

    string datestring2 = "2008/05/01 18:15:11";
    DateTime b = DateTime.ParseExact(datestring2 , "yyyy/MM/dd HH:mm:ss" , CultureInfo.InvariantCulture , DateTimeStyles.None);
    MessageBox.Show(b.ToString());


    둘다 2008년 5월 1일로 인식합니다.

    https://docs.microsoft.com/ko-kr/dotnet/api/system.datetime.parseexact?view=net-5.0#System_DateTime_ParseExact_System_String_System_String_System_IFormatProvider_

    2020.11.11 11:38 [ ADDR : EDIT/ DEL : REPLY ]
    • 매번 좋은 조언 감사합니다.
      다른 글에서 적어놨는지 모르겠지만
      실코드에서는 ParseExact로 원하는 포맷으로 파싱해서 사용중이긴 합니다.

      아무튼 궁금한건.. MM/DD/YY 인지
      DD/MM/YY인지 어떻게 판별할 것인가 인데.. 반대로 DD/MM/YY로 쓰는 국가가 있는지 모르겠네요.

      2020.11.11 11:54 [ ADDR : EDIT/ DEL ]
  2. Zeliper

    DMY도 있고, MDY도 같이 존제합니다.

    https://en.wikipedia.org/wiki/Date_format_by_country
    여기를 참조해보시면 나라별 DateTime 포멧이 나옵니다.
    국가코드를 받아오는건 C#에서
    https://docs.microsoft.com/ko-kr/dotnet/api/system.globalization.regioninfo.twoletterisoregionname?view=net-5.0
    를 통해 받아오신다음 타겟 국가코드를 분기하고, 위에 위키를 참조해서 YDM인지 DMY인지 MDY인지 판별하여,
    분기하는것이 제일 좋아보입니다.

    그냥 시간만 받아온 상태면 M또는 D위치에 둘중하나가 12가 넘지않으면 텍스트만으로 가져오는 방법은 없을것 같습니다.

    2020.11.11 15:11 [ ADDR : EDIT/ DEL : REPLY ]
    • 찾던 자료였는데 위키는 검색해볼 생각을 못했네요 ㅠㅠ
      제가 찾던 키워드가 아니었는지 전혀 생각치 못한 좋은 내용 감사드립니다.

      그리고 M/D가 12를 넘지 않았을 경우를 판별하는건 12일을 넘지 않을 경우 판별이 불가능한 경우가 존재할 수 있기에 좋은 방법은 아닐듯 합니다. timezone에 맞춰서 date format이 어떻게 되나 보도록 하겠습니다.

      2020.11.11 15:14 [ ADDR : EDIT/ DEL ]
  3. Zeliper

    만약 시간 저장과 불러오기를 같이 처리하는 프로그램을 만드시는 경우는, OLE 값을 저장해서 다시 파싱하는게 가장 좋습니다.(1899 00:00:00 12월 30일 부터 얼마나 지났는지 절대적인 값으로 표현 [double])
    나라별로 표현방식이 달라도 OLE값 자체는 절대적이여서 오류가 날 확률이 없기때문에, 아직도 많이 쓰이는 방법중 하나죠.

    DateTime 클래스 내부에서도 OLE 변환 함수를
    FromOADate와 ToOADate로 구현해주니, 크게 만드시는데 어려움은 없으실 겁니다.

    2020.11.11 15:43 [ ADDR : EDIT/ DEL : REPLY ]
    • OLE 약자를 찾아봐야겠네요 ^^
      아무튼 DateTime과 DateTimeOffset 오가면서 시간 변경하는 법도 있고 Timezone 등을 이용해서 시간대 변경도 가능한걸 보니 상당히 강력하게 API를 잘 짜둔것 같습니다.

      2020.11.11 16:43 [ ADDR : EDIT/ DEL ]

(keyworda|keywordb)

에 정규표현식으로 검색하면 된다.

 

[링크 : https://stackoverflow.com/questions/12215896/searching-multiple-files-for-multiple-words/17874867]

Posted by 구차니

댓글을 달아 주세요