Информация об изменениях

Сообщение Re[4]: Локализация дат и в распределенных приложениях от 25.03.2015 8:16

Изменено 25.03.2015 8:19 α

Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, baranovda, Вы писали:

S>Если это local time, то контрол должен отдавать значение как есть. Ну, или должен быть костыль, который приводит значение к тому, что ввёл пользователь

Немного покопал реализации input type=date

1) Спецификация W3С сообщает, что свойство value должно возвращать string в формате RFC 3339 (YYYY-MM-DD)

2) Открываю тестовую страничку c такой формой:

<!DOCTYPE html>
<html>
<head>
<script>
function test()
{
  var d = document.getElementById("bday").value;
  alert(d);
}
</script>
</head>
<body>

<p>
Depending on browser support:<br>
A date picker can pop-up when you enter the input field.
</p>

<form action="action_page.php">
  Birthday:
  <input type="date" name="bday" id="bday">
  <input type="submit">
  <button onclick="test()">Test</button>
</form>

<p><b>Note:</b> type="date" is not supported in Internet Explorer.</p>

</body>
</html>


Opera 12.17 и Chrome возвращают мне строку в соответствии со спекой W3C

3) Пробуем вместо input type="date" сделать input type="datetime".
<!DOCTYPE html>
<html>
<head>
<script>
function testget()
{
  var d = document.getElementById("bday").value;
  alert(d);
}
function testset()
{
  var d = document.getElementById("bday");
  d.value = "2002-05-30T09:30:10+06:00";
  return false;
}
</script>
</head>
<body>

<form action="action_page.php">
  Birthday:
  <input type="datetime" name="bday" id="bday">
  <input type="submit">
</form>

<button onclick="testget()">Get datetime</button>
<button onclick="testset()">Set datetime</button>
</body>
</html>


Chrome 41 такой контрол не поддерживает.

Opera 12.17 приятно удивила: она нарисовала композитный контрол, состоящий из календаря и элемента ввода времени, и рядом подписала "UTC".
Свойство value этого контрола вернуло строку "2015-03-19T12:00Z"
При записи в этот контрол времени со смещением в Опере часовой пояс игнорируется.

* * *
Пока делаю выводы, что в реализации броузеров контролы ввода датой-временем самодеятельности не проявляют
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, baranovda, Вы писали:

S>Если это local time, то контрол должен отдавать значение как есть. Ну, или должен быть костыль, который приводит значение к тому, что ввёл пользователь

Немного покопал реализации input type=date

1) Спецификация W3С сообщает, что свойство value должно возвращать string в формате RFC 3339 (YYYY-MM-DD)

2) Открываю тестовую страничку c такой формой:

<!DOCTYPE html>
<html>
<head>
<script>
function test()
{
  var d = document.getElementById("bday").value;
  alert(d);
}
</script>
</head>
<body>

<p>
Depending on browser support:<br>
A date picker can pop-up when you enter the input field.
</p>

<form action="action_page.php">
  Birthday:
  <input type="date" name="bday" id="bday">
  <input type="submit">
  <button onclick="test()">Test</button>
</form>

<p><b>Note:</b> type="date" is not supported in Internet Explorer.</p>

</body>
</html>


Opera 12.17 и Chrome возвращают мне строку в соответствии со спекой W3C

3) Пробуем вместо input type="date" сделать input type="datetime".
<!DOCTYPE html>
<html>
<head>
<script>
function testget()
{
  var d = document.getElementById("bday").value;
  alert(d);
}
function testset()
{
  var d = document.getElementById("bday");
  d.value = "2002-05-30T09:30:10+06:00";
  return false;
}
</script>
</head>
<body>

<form action="action_page.php">
  Birthday:
  <input type="datetime" name="bday" id="bday">
  <input type="submit">
</form>

<button onclick="testget()">Get datetime</button>
<button onclick="testset()">Set datetime</button>
</body>
</html>


Chrome 41 такой контрол не поддерживает, но поддерживает datetime-local

Opera 12.17 приятно удивила: она нарисовала композитный контрол, состоящий из календаря и элемента ввода времени, и рядом подписала "UTC".
Свойство value этого контрола вернуло строку "2015-03-19T12:00Z"
При записи в этот контрол времени со смещением в Опере часовой пояс игнорируется.

* * *
Пока делаю выводы, что в реализации броузеров контролы ввода датой-временем самодеятельности не проявляют