Ticket #3350: lobby_local_time_v2.patch

File lobby_local_time_v2.patch, 3.9 KB (added by Imarok, 8 years ago)

More general approach, fixing (hopefully) all places where non-localized time was used.

  • binaries/data/mods/public/gui/common/functions_utility.js

     
    122122}
    123123
    124124/**
     125 * Convert from UTC to localtime and format the time
     126 * @param time Time period in milliseconds (integer)
     127 * @param format for a list of symbols see https://sites.google.com/site/icuprojectuserguide/formatparse/datetime?pli=1#TOC-Date-Field-Symbol-Table
     128 * @return String representing time period
     129 */
     130function FormatMillisecondsIntoDateString(time, format)
     131{
     132    return Engine.FormatMillisecondsIntoDateString(time - new Date().getTimezoneOffset() * 60 * 1000, format);
     133}
     134
     135/**
    125136 * Convert time in milliseconds to [hh:]mm:ss string representation.
    126137 * @param time Time period in milliseconds (integer)
    127138 * @return String representing time period
     
    132143        var format = translate("mm:ss");
    133144    else
    134145        var format = translate("HH:mm:ss");
    135     return Engine.FormatMillisecondsIntoDateString(time, format);
     146    return FormatMillisecondsIntoDateString(time, format);
    136147}
    137148
    138149function removeDupes(array)
  • binaries/data/mods/public/gui/common/functions_utility_loadsave.js

     
    55
    66function generateLabel(metadata, engineInfo)
    77{
    8     let dateTimeString = Engine.FormatMillisecondsIntoDateString(metadata.time*1000, translate("yyyy-MM-dd HH:mm:ss"));
     8    let dateTimeString = FormatMillisecondsIntoDateString(metadata.time*1000, translate("yyyy-MM-dd HH:mm:ss"));
    99    let dateString = sprintf(translate("\\[%(date)s]"), { "date": dateTimeString });
    1010
    1111    if (engineInfo)
  • binaries/data/mods/public/gui/lobby/lobby.js

     
    629629    if (game.startTime)
    630630        sgGameStartTime.caption = sprintf(
    631631            translate("Game started at %(time)s"), {
    632                 "time": Engine.FormatMillisecondsIntoDateString(+game.startTime*1000, translate("HH:mm"))
     632                "time": FormatMillisecondsIntoDateString(+game.startTime*1000, translate("HH:mm"))
    633633            });
    634634
    635635    sgNbPlayers.caption = sprintf(
     
    991991    // Translation: Time as shown in the multiplayer lobby (when you enable it in the options page).
    992992    // For a list of symbols that you can use, see:
    993993    // https://sites.google.com/site/icuprojectuserguide/formatparse/datetime?pli=1#TOC-Date-Field-Symbol-Table
    994     let timeString = Engine.FormatMillisecondsIntoDateString(time.getTime(), translate("HH:mm"));
     994    let timeString = FormatMillisecondsIntoDateString(time.getTime(), translate("HH:mm"));
    995995
    996996    // Translation: Time prefix as shown in the multiplayer lobby (when you enable it in the options page).
    997997    let timePrefixString = sprintf(translate("\\[%(time)s]"), {
  • binaries/data/mods/public/gui/replaymenu/replay_menu.js

     
    290290 */
    291291function getReplayDateTime(replay)
    292292{
    293     return Engine.FormatMillisecondsIntoDateString(replay.timestamp * 1000, translate("yyyy-MM-dd HH:mm"));
     293    return FormatMillisecondsIntoDateString(replay.timestamp * 1000, translate("yyyy-MM-dd HH:mm"));
    294294}
    295295
    296296/**
     
    320320 */
    321321function getReplayMonth(replay)
    322322{
    323     return Engine.FormatMillisecondsIntoDateString(replay.timestamp * 1000, translate("yyyy-MM"));
     323    return FormatMillisecondsIntoDateString(replay.timestamp * 1000, translate("yyyy-MM"));
    324324}
    325325
    326326/**