날짜 형식 dd / mm / yyyy의 유효성을 검사하는 정규식


172

dd/mm/yyyy정규 표현 으로 형식의 날짜 문자열을 확인해야 합니다.

이 정규 표현식은의 유효성을 검사 dd/mm/yyyy하지만 31/02/4500다음 과 같은 유효하지 않은 날짜는 아닙니다 .

^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$

dd/mm/yyyy윤년 지원으로 형식 을 확인하는 유효한 정규식은 무엇입니까 ?


3
이 정규 표현식이 실제로 윤년을 정확하게 검증하지 않기 때문에 정확한 기대치를 설정하면 도움이 될 것입니다. 예를 들어 2013 년 2 월 29 일은 없지만이 정규식은 다음과 같이 유효하다고 주장합니다. regexr.com?346fp
TML

7
왜 정규식을 사용해야합니까? 더 쉽고 정확한 방법이 있습니다 ...
Dan Puzey

2
정규식은 숫자 값을 확인하지 않고 일치하는 패턴을위한 것입니다. 정규 표현식으로 가능한 문자열을 찾은 다음 호스트 언어가 무엇이든 (PHP 등) 숫자 값을 확인하십시오.
Andy Lester

3
이 답변은 "공통 유효성 검사 작업" 의 스택 오버플로 정규 표현식 FAQ 에 추가되었습니다 .
aliteralmind

4
@ BurhanKhalid : 당신이 틀렸다. 정규식은 HTML5 입력 pattern에 정규식을 사용하는 이름 이 지정된 속성이 있으며 브라우저는 자바 스크립트를 전혀 사용하지 않고 정규식에 대해 자동으로 유효성을 검사하므로 유효성 검증에 가장 적합한 도구입니다 . 패턴 속성에 정규 표현식을 설정하면됩니다!
awe

답변:


329

붙여 넣은 정규식은 윤년을 올바르게 유효성 검사하지 않지만 같은 게시물에있는 정규식이 있습니다 . 내가 가지고 그것을 수정 dd/mm/yyyy, dd-mm-yyyy또는 dd.mm.yyyy.

^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[13-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$

나는 Arun이 그의 대답과 여기에 제공 한 링크에서 약간 테스트했으며 작동하는 것 같습니다.

2019 년 2 월 14 일 수정 : 정규식에있는 쉼표를 제거하여 다음과 같은 날짜를 허용했습니다. 29-0,-11


9
서사시 정규식! 형식에 따라 쉽게 교환 할 수 있습니까? 예를 들어 yyyy-mm-dd 및 mm-dd-yyyy입니다. 나는 그것을 염두에두고 그것을 이해하려고 노력했지만 내 정규식 기술을 뛰어 넘습니다.
mrswadge

7
DD/MM/YYYY이 정규 표현식 외에는 DD/MM/YY포스터의 초기 의도가 무엇인지 잘 모르겠습니다. 'YY'를 지원하지 않으려면 모든 선택적 ?수량 자를 제거하십시오 .
user1485864

2
@PurveshDesai는 각각을 0?로 바꾸고 0마지막 항목을 제거합니다 ?.
Ofir Luzon 2016 년

4
@MaraisRossouw, 당신은 맞습니다, 4 자리 연도, 실제로 3 ?을 제거해야합니다 : 모두 (?:1[6-9]|[2-9]\d)?로 대체하십시오 (?:1[6-9]|[2-9]\d).
Ofir Luzon이

2
: 단지에 의해 삭제하면이 대답 WOW 물론 감사합니다
제로 Dungog

266

내 요구 사항에 따라 @ dd-mmm-YYYY, dd / mmm / YYYY, dd.mmm.YYYY 형식으로 @Ofir Luzon이 제공 한 정규식을 확장했습니다. 동일한 요구 사항을 가진 다른 사람이 이것을 참조 할 수 있습니다

^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]|(?:Jan|Mar|May|Jul|Aug|Oct|Dec)))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2]|(?:Jan|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)(?:0?2|(?:Feb))\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9]|(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep))|(?:1[0-2]|(?:Oct|Nov|Dec)))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$

http://regexr.com/39tr1 에서 몇 가지 테스트 사례를 테스트했습니다 .

이 정규 표현식에 대한 이해를 돕기 위해 다음 이미지를 참조하십시오. 여기에 이미지 설명을 입력하십시오


1
예, 어떻게 생성 했습니까? :)
면도기

일부 웹 사이트를 사용하여 온라인으로 생성했으며 이제이 이미지를 생성 한 웹 사이트를 기억하지 못합니다. 내가 기억하면 참조를 추가 할 것이다 :)
Alok Chaudhary

4
@ user3733831 8888은 가능한 해입니다. 나는 그 시대에 살기를 기대합니다.
Dan Nissenbaum

1
윤년에도 잘 작동합니다. 나는 짧은 스페인어 달 이름에 대한 지원도 추가했습니다.
Fer R

2
@AlokChaudhary 상기도 이용하여 생성 된 debuggex.com
타하 BASRI을

69

주의:

정규 표현식은 "4와 100의 배수이지만 400의 배수는 아닙니다"년 동안 작동하지 않습니다. 이 시험을 통과 한 연도는 윤년이 아닙니다. 예를 들어, 1900, 2100, 2200, 2300, 2500 등입니다. 즉, 동일한 윤년 클래스에서 \ d \ d00 형식의 모든 연도를 입력합니다. – MuchToLearn

따라서 [1901-2099] (휴가) 😊에만 제대로 작동합니다.

dd / MM / yyyy :

윤년인지 확인합니다. 1900 년부터 9999 년까지 유효합니다. dd / MM / yyyy 만

(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)

7
이 답변은 dd / MM / yyyy 에서만 작동 합니다 . 따라서 정답입니다.
Rodrigo

2
@SylvainB 나는 그것을 고쳤다
gdZeus

2
@gdZeus 2 년 후 제공해 주셔서 감사합니다! 불완전한 솔루션이 오랫동안 여기에서 검증되었다고 생각하는 것은 무섭습니다.
SylvainB

더 빨리 만들기 위해 그룹을 그룹화하지 않을 수 있습니다. regexr.com/3esom ^ (? :(? :(? :( ?: 0 [1-9] | 1 [0-9] | 2 [0-8]) [\ /] (?: 0 [1- 9] | 1 [012])) | (? :( ?: 29 | 30 | 31) [\ /] (?: 0 [13578] | 1 [02])) | (? :( ?: 29 | 30 ) [\ /] (?: 0 [4,6,9] | 11))) [\ /] (?: 19 | [2-9] [0-9]) \ d \ d) | (?: 29 [\ /] 02 [\ /] (?: 19 | [2-9] [0-9]) (?: 00 | 04 | 08 | 12 | 16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 52 | 56 | 60 | 64 | 68 | 72 | 76 | 80 | 84 | 88 | 92 | 96)) $
Matt Vukomanovic

나는 오류를 발견했다고 가정합니다 : 29/02/2100존재하지 않습니다 (2100은 윤년이 아니지만) 주어진 패턴에 의해 여전히 받아 들여집니다.
KnorxThieus


12

사용자의 로캘이 율리우스에서 그레고리력으로 언제 전환되었는지 알지 못했을 때 다음과 같은 것이 정확하다고 생각합니다.

순서에 관계없이 '-', '/'또는 연도, 월 및 일 사이의 구분 기호로 아무것도 허용하지 않습니다.

MMddyyyy :

^(((0[13-9]|1[012])[-/]?(0[1-9]|[12][0-9]|30)|(0[13578]|1[02])[-/]?31|02[-/]?(0[1-9]|1[0-9]|2[0-8]))[-/]?[0-9]{4}|02[-/]?29[-/]?([0-9]{2}(([2468][048]|[02468][48])|[13579][26])|([13579][26]|[02468][048]|0[0-9]|1[0-6])00))$

ddMMyyyy :

^(((0[1-9]|[12][0-9]|30)[-/]?(0[13-9]|1[012])|31[-/]?(0[13578]|1[02])|(0[1-9]|1[0-9]|2[0-8])[-/]?02)[-/]?[0-9]{4}|29[-/]?02[-/]?([0-9]{2}(([2468][048]|[02468][48])|[13579][26])|([13579][26]|[02468][048]|0[0-9]|1[0-6])00))$

yyyyMMdd :

^([0-9]{4}[-/]?((0[13-9]|1[012])[-/]?(0[1-9]|[12][0-9]|30)|(0[13578]|1[02])[-/]?31|02[-/]?(0[1-9]|1[0-9]|2[0-8]))|([0-9]{2}(([2468][048]|[02468][48])|[13579][26])|([13579][26]|[02468][048]|0[0-9]|1[0-6])00)[-/]?02[-/]?29)$

순서 외에, 이것들은 그레고리오 력이 율리우스에서 벗어날 때까지 1700 년까지 율리우스 력 (4 년마다 윤년)에 정확합니다. 두 가지 문제가 있습니다.

  1. 모든 표준은 아니지만 많은 표준에는 존재하지 않는 0000 년을 수용합니다. ISO 8601은 0000 년 (1 BCE에 해당)을 수용합니다.
  2. 그레고리오 력이 사용될 때 잃어버린 10-13 일을 건너 뛰지 않습니다. 이것은 지역에 따라 다릅니다. 예를 들어, 로마 가톨릭 교회는 1582 년 10 월 5 일부터 10 월 14 일까지 15 일을 건너 뛰었지만 그리스 (마지막으로 전환)는 1923 년 2 월 16 일부터 28 일까지 13 일을 건너 뛰었습니다. 1800, 1900

이는 0001 년부터 9999 년까지 Java의 캘린더 구현에 대해 테스트되었으며 1582 년에 위에서 언급 한 10 일만 불일치합니다.


YYYYMMDD 정규식이 [01 | 02 | 03 | 05 | 06 | 07 | 09 | 10 | 11 | 13 | 14 | 15] 00-02-29와 잘못 일치합니다. 수정 된 정규식 : ^([0-9]{4}[-/]?((0[13-9]|1[012])[-/]?(0[1-9]|[12][0-9]|30)|(0[13578]|1[02])[-/]?31|02[-/]?(0[1-9]|1[0-9]|2[0-8]))|([0-9]{2}(([2468][048]|[02468][48])|[13579][26])|([13579][26]|[02468][048])00)[-/]?02[-/]?29)$. 파이썬 함께 테스트 : repl.it/repls/DependentBestChapters
KPR

10

이것들을보고 완전히 혼란스러워하는 사람들을 위해, 여기 내 스크립트에서 발췌 한 것이 있습니다. 불행히도, 날짜 시간 입력에서 유효한 숫자와 일치하는 것은 2 월 31 일이 유효한 것으로 표시되지만 많은 사람들이 말했듯이 정규 표현식이 실제로이 테스트를 수행하는 가장 좋은 도구는 아닙니다.

'yyyy-MM-dd hh : mm'형식의 날짜와 일치 시키려면 (또는 원하는 순서대로)

var dateerrors = false;
var yearReg = '(201[4-9]|202[0-9])';            ///< Allows a number between 2014 and 2029
var monthReg = '(0[1-9]|1[0-2])';               ///< Allows a number between 00 and 12
var dayReg = '(0[1-9]|1[0-9]|2[0-9]|3[0-1])';   ///< Allows a number between 00 and 31
var hourReg = '([0-1][0-9]|2[0-3])';            ///< Allows a number between 00 and 24
var minReg = '([0-5][0-9])';                    ///< Allows a number between 00 and 59
var reg = new RegExp('^' + yearReg + '-' + monthReg + '-' + dayReg + ' ' + hourReg + ':' + minReg + '$', 'g');
$('input').filter(function () {return this.id.match(/myhtml_element_with_id_\d+_datetime/);}).each(function (e) {
    if (e > 0) {
        // Don't test the first input. This will use the default
        var val = $(this).val();
        if (val && !val.trim().match(reg)) {
            dateerrors = true;
            return false;
        }
    }
});
if (dateerrors) {
    alert('You must enter a validate date in the format "yyyy-mm-dd HH:MM", e.g. 2019-12-31 19:30');
    return false;
}

위 스크립트는 정규식 객체를 만들어 시작합니다. 그런 다음 ID가 특정 패턴과 일치하는 모든 입력을 찾은 다음 루프를 반복합니다. 내가 찾은 첫 번째 입력을 테스트하지 않습니다 (if (e > 0) )을 .

약간의 설명 :

var reg = new RegExp('^' + yearReg + '-' + monthReg + '-' + dayReg + ' ' + hourReg + ':' + minReg + '$', 'g');

^일치 시작을 의미하는 반면, $일치 종료를 의미합니다.

return this.id.match(/myhtml_element_with_id_\d+_datetime/);

\d+는 단일 또는 연속적인 정수 시퀀스 myhtml_element_with_id_56_datetimemyhtml_element_with_id_2_datetime일치 하므로 일치하지만 일치하지는 myhtml_element_with_id_5a_datetime않습니다.


8

다음 날짜 형식과 일치하고 앞에 오는 0을 생략 할 수있는 다른 버전의 정규식이 있습니다.

정규식 : ^[0-3]?[0-9].[0-3]?[0-9].(?:[0-9]{2})?[0-9]{2}$

성냥:

1/1/11 or 1.1.11 or 1-1-11 : true 01/01/11 or 01.01.11 or 01-01-11 : true 01/01/2011 or 01.01.2011 or 01-01-2011 : true 01/1/2011 or 01.1.2011 or 01-1-2011 : true 1/11/2011 or 1.11.2011 or 1-11-2011 : true 1/11/11 or 1.11.11 or 1-11-11 : true 11/1/11 or 11.1.11 or 11-1-11 : true

정규식 시각화

Debuggex 데모


4
13/13/2000= Matches is true 인
Andrei Krasutski

3
39/39/39는 데이트가 아닙니다. 이 답변에 대한 투표를 중단하십시오.
워렌 서전트

6

여기서 dd/mm/yyyy구분 기호가 -.,/연도 범위 중 하나가 될 수있는 곳을 작성 했습니다 0000-9999.

윤년 을 다루며 미리보기, 그룹 캡처 및 역 참조 를 지원하는 정규식 맛을 위해 설계되었습니다 . 와 같은 경우에는 유효하지 않습니다 d/m/yyyy. 필요한 경우 분리기를 추가하십시오[-.,/]

^(?=\d{2}([-.,\/])\d{2}\1\d{4}$)(?:0[1-9]|1\d|[2][0-8]|29(?!.02.(?!(?!(?:[02468][1-35-79]|[13579][0-13-57-9])00)\d{2}(?:[02468][048]|[13579][26])))|30(?!.02)|31(?=.(?:0[13578]|10|12))).(?:0[1-9]|1[012]).\d{4}$

regex101에서 테스트 ; 자바 문자열로 :

"^(?=\\d{2}([-.,\\/])\\d{2}\\1\\d{4}$)(?:0[1-9]|1\\d|[2][0-8]|29(?!.02.(?!(?!(?:[02468][1-35-79]|[13579][0-13-57-9])00)\\d{2}(?:[02468][048]|[13579][26])))|30(?!.02)|31(?=.(?:0[13578]|10|12))).(?:0[1-9]|1[012]).\\d{4}$"

설명 :

(?x) # modifier x: free spacing mode (for comments)
     # verify date dd/mm/yyyy; possible separators: -.,/
     # valid year range: 0000-9999

^    # start anchor

# precheck xx-xx-xxxx,... add new separators here
(?=\d{2}([-.,\/])\d{2}\1\d{4}$)

(?:  # day-check: non caturing group

  # days 01-28
  0[1-9]|1\d|[2][0-8]| 

  # february 29d check for leap year: all 4y / 00 years: only each 400
  # 0400,0800,1200,1600,2000,...
  29
  (?!.02. # not if feb: if not ...
    (?!
      # 00 years: exclude !0 %400 years
      (?!(?:[02468][1-35-79]|[13579][0-13-57-9])00)

      # 00,04,08,12,... 
      \d{2}(?:[02468][048]|[13579][26])
    )
  )|

  # d30 negative lookahead: february cannot have 30 days
  30(?!.02)|

  # d31 positive lookahead: month up to 31 days
  31(?=.(?:0[13578]|10|12))

) # eof day-check

# month 01-12
.(?:0[1-9]|1[012])

# year 0000-9999
.\d{4}

$ # end anchor

SO Regex FAQ 도 참조하십시오 . 실패하면 알려주십시오.


5

이 정규직을 여기 에서 찾았 습니다

^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$

이렇게하면 형식 mm/dd/yyyy과 유효한 날짜가 올바르게 검증 됩니다 (그러나 아님 m/d/yyyy).

일부 테스트


1
2014 년 이전에만 작동하며 | 20 (0 [0-9] | 1 [0-4])))를 | 20 (0 [0-9] | 1 [0-9]))로 변경하여 지원할 때까지 2019
Tony Dong

5
"^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.]((19|20)\\d\\d)$"

사이의 날짜를 확인합니다 1900-2099


5

다음 표현은 훌륭하고 조작하기 쉽습니다.

((((0[13578]|1[02])(\/|-|.)(0[1-9]|1[0-9]|2[0-9]|3[01]))|((0[469]|11)(\/|-|.)(0[1-9]|1[0-9]|2[0-9]|3[0]))|((02)((\/|-|.)(0[1-9]|1[0-9]|2[0-8]))))(\/|-|.)(19([6-9][0-9])|20(0[0-9]|1[0-4])))|((02)(\/|-|.)(29)(\/|-|.)(19(6[048]|7[26]|8[048]|9[26])|20(0[048]|1[26])))

MM / dd / YYYY 형식에 따라 유효성을 검사하고 1960 년부터 2016 년까지 윤년 지원을 허용합니다. 윤년 지원 확장이 필요한 경우 다음 표현식 부분 만 조작하면됩니다.

(19(6[048]|7[26]|8[048]|9[26])|20(0[048]|1[26]))

이것이 당신에게 많은 도움이 되었기를 바랍니다.


3

달 (mm)과 연도 (yyyy)에 따라 일 (dd)의 유효성을 검사하고 (즉, 윤년으로 2 월 29 일의 유효성을 검사하는) 또 다른 대답은 0001에서 9999까지의 범위를 허용합니다 (Gregorian에 따르면 유효하지 않은 연도의 0000). 달력)

^(?:(?:(?:0[1-9]|[12]\d|3[01])/(?:0[13578]|1[02])|(?:0[1-9]|[12]\d|30)/(?:0[469]|11)|(?:0[1-9]|1\d|2[0-8])/02)/(?!0000)\d{4}|(?:(?:0[1-9]|[12]\d)/02/(?:(?!0000)(?:[02468][048]|[13579][26])00|(?!..00)\d{2}(?:[02468][048]|[13579][26]))))$

1
18/05/0017의 유효성을 검사하지 않음

1

MM / DD / YYYY 형식 허용 하는 API로 작업하고 있습니다. 나는 Ofir의 대답 뿐만 아니라 몇 년 동안 도약 한 다른 게시물을 찾을 수 없으므로 그것을 조정하고 필요할 수있는 사람을 위해 여기에 다시 게시하고 있습니다.

/^(?:(?:(?:0[13578]|1[02])(\/)31)\1|(?:(?:0[1,3-9]|1[0-2])(\/)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:02(\/)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/)(?:0[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/

0
((((0[13578]|1[02])\/(0[1-9]|1[0-9]|2[0-9]|3[01]))|((0[469]|11)\/(0[1-9]|1[0-9]|2[0-9]|3[0]))|((02)(\/(0[1-9]|1[0-9]|2[0-8]))))\/(19([6-9][0-9])|20([0-9][0-9])))|((02)\/(29)\/(19(6[048]|7[26]|8[048]|9[26])|20(0[048]|1[26]|2[048])))

유효성을 검사 MM/DD/YYYY와 형식 19602028

윤년 지원을 연장해야하는 경우 추가

19(6[048]|7[26]|8[048]|9[26])|20(0[048]|1[26]|2[048]|3[26]|4[048])))

이것은 또한 일이다

^((((0[13578]|1[02])[/](0[1-9]|1[0-9]|2[0-9]|3[01]))|((0[469]|11)[/](0[1-9]|1[0-9]|2[0-9]|3[0]))|((02)([/](0[1-9]|1[0-9]|2[0-8]))))[/](19([6-9][0-9])|20([0-9][0-9])))|((02)[/](29)[/](19(6[048]|7[26]|8[048]|9[26])|20(0[048]|1[26]|2[048])))

온라인 http://regexr.com/을 확인 하여 mm-dd-yyyy바꾸기보다 형식을 변경할 수있는 경우[/][-]


0

날짜 MM / DD / YYYY의 경우

^((((0[13578])|([13578])|(1[02]))[\/](([1-9])|([0-2][0-9])|(3[01])))|(((0[469])|([469])|(11))[\/](([1-9])|([0-2][0-9])|(30)))|((2|02)[\/](([1-9])|([0-2][0-9]))))[\/]\d{4}$|^\d{4}$

적절한 날과 나방을 확인합니다.

정규식을 확인할 수 있음을 기억하십시오

정규식

내가 추천하는 것 :)

즐기세요!


0
^(((([13578]|0[13578]|1[02])[-](0[1-9]|[1-9]|1[0-9]|2[0-9]|3[01]))|(([469]|0[469]|11)[-]([1-9]|1[0-9]|2[0-9]|3[0]))|((2|02)([-](0[1-9]|1[0-9]|2[0-8]))))[-](19([6-9][0-9])|20([0-9][0-9])))|((02)[-](29)[-](19(6[048]|7[26]|8[048]|9[26])|20(0[048]|1[26]|2[048])))

이 정규 표현식은 날짜 형식을 확인합니다.

12-30-2016 (mm-dd-yyyy) 또는 12-3-2016 (mm-d-yyyy) 또는 1-3-2016 (md-yyyy) 또는 1-30-2016 (m-dd-yyyy)


0

나는 그것이 질문에 대한 접선 답이라는 것을 알고 있지만 의도가 있다면 가 '날짜를 어떻게 확인합니까?'라면 프로그래밍 언어가 모든 노력을 기울 이도록 노력하지 않는 이유는 무엇입니까? 할 수있다)?

예를 들어 PHP에서

$this_date_object = date_create($this_date);

if ($this_date_object == false )
    {

        // process the error

    }
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.