2012-04-14 3 views
3

iPhone에서 HTML 5 양식을 사용하고 있습니다. 이 양식에는 다음과 같은 입력 요소가 있습니다.HTML 5 - iOS의 입력 형식 날짜 형식

<input id="birthdate" type="date" /> 

사용자가이 필드를 클릭하면 iOS 날짜 선택 도구가 나타납니다. 사용자가 날짜를 선택하면 다음과 같이 표시되는 필드에 날짜가 표시됩니다. 2012 년 4 월 14 일

제 질문은 04-14-2012와 같은 형식으로이 날짜 형식을 지정하는 방법이 있습니까? 텍스트 상자에? 아니면 iOS 날짜 형식을 JavaScript Date 객체로 변환하는 간단한 방법이 있습니까?

+2

[HTML5 입력 유형의 값 출력 지정 = 날짜?] (http : // stackoverflow.com/questions/3496241/html5-input-date-of--html5 입력 유형 날짜) – epascarello

답변

3

언제나 형식이 YYYY-MM-DD 인 것으로 생각했습니다.

W3C spec & RFC3339.

어쨌든 JavaScript로 변환 할 수 있습니다.

var dateInput = document.getElementById('birthdate'); 

dateInput.addEventListener('change', function() { 
    dateInput.value = new Date(dateInput.value).toISOString().split('T')[0]; 
}, false); 
+1

정확합니다. 그러나 iOS는 항상 거기에서해야합니다. –

2

번호

놀이 두 가지 형식이 있습니다

  • 는 형식 표시는
  • 내부 형식 자바 스크립트에 노출 서버

당신은 할 수없는 변화로 전송 표시 형식. 날짜가 사용자에게 표시되는 방식을 결정하는 것은 브라우저의 몫입니다 (실제로는 시스템의 로켈에 따라 결정됩니다).

내부 형식도 변경할 수 없습니다. 브라우저/로케일에 관계없이 항상 ISO8601입니다.

0

다음과 같이하십시오.

$dat = new DateTime($_POST['MyDATE']); 
$new_format = $dat->format('Y-m-d'); 
+3

백엔드가 PHP로 작성된 이유는 무엇입니까? –

0

나는 @ PorneL의 답변에 동의하지만 잠재적으로 원하는 결과를 시뮬레이션하기 위해 일부 작업을 수행 할 수 있습니다. 나는 그것이 최선의 방법이 아니라고 규정 할 것이다. 의사 코드에서

:

  • 는 두 개의 입력, 입력 한 날짜 중 하나와 텍스트의 또 다른 되세요.
  • 날짜 입력을 보이지 않게하거나 1px x 1px를 측면으로 만들고 입력 할 날짜를 원하는 날짜의 크기로 만듭니다.
  • 텍스트 입력에 초점을두고 인접한 날짜 입력에 자동으로 초점을 맞 춥니 다.
  • 이 시점에서 사용자는 날짜 입력 필드를 편집하게됩니다.
  • 날짜 필드가 변경되면 원하는 형식을 사용하여 값 필드를 가져 와서 텍스트 필드에 삽입하십시오.

다시 말해서 최상의 솔루션은 아니지만이 방법으로 작동 할 수 있습니다.