Internationalization and localization tools


Locale-Sensitive JavaScript Method

date.getYear();

Internationalization (I18n) Method Overview

The getYear method returns the year - 1900 for the date object, based on the system's local time zone.

For example:

var date = new Date();
date.setFullYear(1995);
var result1 = date.getYear();
date.setFullYear(2014);
var result2 = date.getYear();


Method returns:

result1: 95
result2: 114


Click here for additional details.

Note: getYear is no longer supported by Web Standards and should be replaced with getFullYear or getUTCFullYear.

I18n Issues

getYear should be replaced by calling either getFullYear or getUTCFullYear. And then, whether or not the replacement method is an i18n issue is dependent on how it is used in the application. Two possible i18n issues are:

  • The system's local time zone is being used rather than either UTC or the application's time zone.
  • The returned number is being used to format a date string for display, rather than using the locale to determine the preferred date order and display.

Suggested Replacement

To address the first i18n issue, call getUTCFullYear to use UTC time zone rather than local time zone. To set the time zone, call one of the locale-sensitive date methods:

toLocaleDateString
toLocaleString
toLocaleTimeString

These locale-sensitive date methods also address the second i18n issue: that of formatting dates based on locale.


Globalyzer will detect this method and report it as an i18n issue. If you have determined that the call is being handled correctly, you can use Globalyzer's Ignore Comment functionality to ensure that it isn't picked up in a subsequent scan.



Locale-Sensitive JavaScript Methods

 

Lingoport internationalization and localization services and software