Дата (год) Javascript

#javascript

#javascript

Вопрос:

 <script language="JavaScript">
<!-- Hide from older browser
var x= new Date()
var y= x.getYear()
var m= x.getMonth() 1  // added  1 because javascript counts month from 0
var d= x.getDate()
var h= x.getHours()
var mi= x.getMinutes()
var s= x.getSeconds()
document.write("Today's date is: ")
document.write(m '/' d '/' y '  ' h '.' mi '.' s)
//-->
</script>
  

Например, сегодняшняя дата равна 10 — 10 — 2011 формат (d-m-Y)
Когда я тестировал в
Firefox 6.02 и Chrome 14.0385 и opera 10.53 safari 5: сегодняшняя дата: 10/10/111 18.1.6
В Internet Explorer ie8: сегодняшняя дата: 10/10/2011 18.3.47
** я тестирую другую вещь.. но не знаю, почему год выдает неверный вывод, кроме Internet Explorer.Или у другого браузера была другая реализация, получающая год. ??
** при необходимости доступен экран печати браузера..
изображение ссылки http://imageshack.us/photo/my-images/502/javascriptdate.png /

Комментарии:

1. Вместо этого используйте метод getFullYear()

Ответ №1:

getYear Метод возвращает год минус 1900. Использование getFullYear :

 var y= x.getFullYear()
  

В некоторых версиях Javascript getYear метод возвращает двузначный год для лет в диапазоне 1900-1999 и четырехзначный год за пределами этого диапазона. Это относится к Javascript 1.2 и более ранним версиям, а также ко всем версиям JScript (например, Internet Explorer).

Это несоответствие означает, что вам придется проанализировать результат и изменить его в зависимости от того, каким может быть разумный год. Если вы не можете ограничить возможное количество лет, невозможно определить, означает ли результат 111 2011 год или на самом деле это 111 год.

Ссылка:

http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/getYear

«getYear больше не используется и был заменен методом getFullYear».

http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/getFullYear