Tipo de entrada DateTime-value format?
em que formato devo colocar a data e a hora, para utilização no elemento de entrada HTML5 com datetime
Tipo?
1338575502
01/06/2012 19:31
01/06/2012 19:21:00
2012-06-01
2012-06-01 19:31
2012-06-01 19:31:00
6 answers
Para <input type="datetime" value="" ...
Um texto que representa uma data e hora globais.
Valor: uma data-hora válida tal como definido em [RFC 3339], com estas qualificações adicionais:
•as letras literais T E Z na sintaxe data/hora devem ser sempre maiúsculas
* a produção do ano completo é, em vez disso, definida como quatro ou mais algarismos representando um número superior a 0
Exemplos:
1990-12-31T23: 59: 60Z
1996-12-19T16:39:57-08:00
Http://www.w3.org/TR/html-markup/input.datetime.html#input.datetime.attrs.value
Actualizar:
Este recurso é obsoleto. Embora ainda possa funcionar em alguns navegadores, seu uso é desencorajado, uma vez que pode ser removido a qualquer momento. Tentar evite usá-lo.O HTML era um controlo para introduzir uma data e tempo (hora, minuto, segundo, e fracção de em segundo lugar), bem como fuso. Este recurso foi removido do WHATWG HTML, e não é suportado por mais tempo em navegadores.
Em vez disso, os navegadores estão a implementar (e os programadores são encorajados a use)o tipo datetime-local de entrada.
Porque é que o HTML5 input type datetime é removido dos navegadores que já o suportam?
Https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime
Este artigo parece mostrar os tipos válidos que são aceitáveis
<time>2009-11-13</time>
<!-- without @datetime content must be a valid date, time, or precise datetime -->
<time datetime="2009-11-13">13<sup>th</sup> November</time>
<!-- when using @datetime the content can be anything relevant -->
<time datetime="20:00">starting at 8pm</time>
<!-- time example -->
<time datetime="2009-11-13T20:00+00:00">8pm on my birthday</time>
<!-- datetime with time-zone example -->
<time datetime="2009-11-13T20:00Z">8pm on my birthday</time>
<!-- datetime with time-zone “Z” -->
Este cobre a sua utilização no campo <input>
:
<input type="date" name="d" min="2011-08-01" max="2011-08-15">
Isto exemplo do tipo de entrada HTML5" date " combinar com os atributos min e max mostra como podemos restringir as datas que um usuário pode introduzir. O os atributos min e max não dependem uns dos outros e podem ser usados independentemente.
<input type="time" name="t" value="12:00">
o tipo de entrada HTML5 "tempo" permite aos utilizadores escolha a hora correspondente que é apresentada num formato de 24 horas. Se não incluirmos o valor padrão de "12: 00" o tempo se ajustaria ao tempo da máquina local do Usuário.
<input type="week" name="w">
a semana do tipo de entrada HTML5 irá mostrar a versão numérica da semana denotada por um "W", juntamente com o ano correspondente.
<input type="month" name="m">
o tipo de entrada HTML5 mês faz exactamente o que esperas que faça. Mostra o mês. Ser precisa ele mostra o versão numérica do mês, juntamente com o ano.
<input type="datetime" name="dt">
O tipo de entrada HTML5 Datetime mostra a data e o código de hora UTC. O utilizador pode alterar o tempo avança ou recua em incrementos de um minuto. Se você quiser mostrar a data e hora locais do utilizador que terá de usar o next example datetime-local
<input type="datetime-local" name="dtl" step="7200">
Porque ... DateTime passa por um minuto de cada vez, você pode querer mudar o incremento padrão usando o atributo "step". No seguinte exemplo teremos que incrementá-lo em duas horas, definindo o passo do atributo para 7200 (60 segundos X 60 minutos X 2).
Se vale de alguma coisa, com o iOS7 a abandonar o suporte para datetime
precisas de usar datetime-local
que não aceita porção de fuso-horário (o que faz sentido).
Não funciona (iOS de qualquer maneira):
<input type="datetime-local" value="2000-01-01T00:00:00+05:00" />
Obras:
<input type="datetime-local" value="2000-01-01T00:00:00" />
PHP para o valor (windows safe):
strftime('%Y-%m-%dT%H:%M:%S', strtotime($my_datetime_input))
<input type="datetime-local" name="to" id="to" value="2014-12-08T15:43:00">
Especificação foi um pouco confuso para mim, ele disse para usar RFC 3339, mas no meu PHP server quando eu usei o formato DATE_RFC3339 não era inicializar o meu hmtl de entrada :( PHP constante para DATE_RFC3339 é "Y-m-d\TH:eu:sP" na hora de escrever, faz sentido que você deve livrar-se das informações de fuso horário (estamos usando datetime-LOCAL, gente). Então o formato que funcionou para eu era:
"Y-m-d\TH:i:s"
Eu teria pensado que seria mais intuitivo ser capaz de definir o valor do datepicker como o datepicker mostra a data, mas eu estou supondo que a forma como ele é exibido difere entre navegadores.
Isto funciona para definir o valor da entrada:
strftime('%Y-%m-%dT%H:%M:%S', time())
Este aparece correctamente como HTML5-Tag para aqueles que procuram isto:
<input type="datetime" name="somedatafield" value="2011-12-21T11:33:23Z" />