Конференция "Прочее" » Знатоки JavaScript - посоветуйте
 
  • Ega23 © (05.02.09 15:02) [0]
    Смысл такой. Надо передать с сервера в браузер дату. У меня она в некой строке находится, формат 'dd/mm/yyyy'.
    передаю я её в браузер в составе большого массива данных (формат - JSON).
    Сейчас у меня это дело выглядит как-то так:


     case BAType of
       4 : ss := 'new Date(\"' + BAValue + '\")';
       else
         ss := '\"' + BAValue + '\"';
     end;

     Result := '{lb:\"' + FillNBSP(Level, 3) + BAName + '\",' +
              'bac:' + IntToStr(BACod) + ',' +
              'value:' + ss + ',' +
              'it:' + IntToStr(BAType) + '}
    '
    ;



    Собственно вопрос: а как эта сволочь на стороне браузера будет решать, что такое '11/12/2008'? 11-е декабря? Или 12-е ноября?
    Есть ли стандарт на строковый формат даты в JavaScript, и какие есть возможности по заданию формата?
    Смотрел тут: http://www.w3schools.com/jsref/jsref_obj_date.asp
    толком ничего не нашёл. Может не увидел?
  • Eraser © (05.02.09 15:13) [1]
    > Смотрел тут: http://www.w3schools.com/jsref/jsref_obj_date.asp
    > толком ничего не нашёл. Может не увидел?

    Date.parse это оно. но думаю будет полно проблем с форматами. может лучше передавать в своем формате, со своими разделителями, потом парсить своим парсером и создавать дату с пом. setYear() и т.п. методов объекта Date.
  • wicked © (05.02.09 15:16) [2]
    можно передавать в yyyy-mm-dd - формат однозначен, поэтому должно распарсить
    а далее - как покажешь, так и будет
  • Ega23 © (05.02.09 15:25) [3]

    > может лучше передавать в своем формате, со своими разделителями,
    >  потом парсить своим парсером и создавать дату с пом. setYear()
    > и т.п. методов объекта Date.


    Да вот я тоже потихоньку начинаю к этому склоняться. Просто геморно больно... Думал можно как-то формат объекту Date() задать.
  • clickmaker © (05.02.09 15:35) [4]
    parse должна вот такой формат точно воспринимать
    Mon, 25 Dec 1995 13:30:00 GMT

    стандарт IETF
  • Ega23 © (05.02.09 16:24) [5]

    > Mon, 25 Dec 1995 13:30:00 GMT


    Да, это помогло. Только теперь другая проблема - заставить форматировать дату-время из Delphi именно в этот стандарт. Без учета локализации той машины, на которой FastCGI крутится...
  • Anatoly Podgoretsky © (05.02.09 16:27) [6]
    Разве это проблема, если нет желания самому писать эту функцию, то ее можно взять например из ICS, наверно и в инди есть. Этот формат документирован в одном из RFC
  • Ega23 © (05.02.09 16:29) [7]

    > если нет желания самому писать эту функцию


    Угу, именно. Если ткнёшь носом, где она готовая есть - буду премногоблагодарен.
  • _VirEx_ (05.02.09 16:33) [8]

    > Угу, именно. Если ткнёшь носом, где она готовая есть - буду
    > премногоблагодарен.

    Anatoly Podgoretsky вобщем так. ты говоришь ему где эта функция (не за бесплатно естественно). половина выручки в ? - мне.
  • clickmaker © (05.02.09 16:36) [9]
    IdSysVcl.pas - DateTimeGMTToHttpStr
    оно?
  • Anatoly Podgoretsky © (05.02.09 16:38) [10]
    > Ega23  (05.02.2009 16:29:07)  [7]

    Я же ткнул где, а конкретные строки сам ищи, в развание есть слово RFC
    На моем сайте есть ApcSql клиент, там использована данная функция, я тоже не стал писать свою.
    Там даже две, туда и обратно
  • Anatoly Podgoretsky © (05.02.09 16:39) [11]
    > _VirEx_  (05.02.2009 16:33:08)  [8]

    Опоздал, я уже продал
  • Anatoly Podgoretsky © (05.02.09 16:40) [12]
    > clickmaker  (05.02.2009 16:36:09)  [9]

    Возможно, поскольку данная функция должна быть в любой библиотеке.
  • Ega23 © (05.02.09 16:43) [13]

    > IdSysVcl.pas - DateTimeGMTToHttpStr
    > оно?


    Нету такой...  :(    Delphi 7.


    > Я же ткнул где, а конкретные строки сам ищи, в развание
    > есть слово RFC


    Ага, спасибо.

    На самом деле, как выяснилось, достаточно формата "mm/dd/yyyy". Там просто YUI-компонент себя вёл немножко не так, как я ожидал.

    Всем спасибо!
  • b z (05.02.09 16:46) [14]

    > http://pda.delphimaster.net/?id=new Date(123383533400)&n=3
    Так не пойдет?
  • Плохиш © (05.02.09 18:01) [15]
    Модуль
    XSBuiltIns.pas

    функция
    DateTimeToXMLTime

    и класс
    TXSBaseTime

    не подойдут?
  • _VirEx_ (05.02.09 18:37) [16]
    DateTimeFromBornZaratustraTo2012GameOverForAllWorldWithJSONFormatWithLovwForYou
 
Конференция "Прочее" » Знатоки JavaScript - посоветуйте
Есть новые Нет новых   [134454   +43][b:0][p:0.001]