Как использовать параметр оживителя JSON.parse для парсинга строки даты

Я должен пойти с подходом таблиц сюда. Причина этого прибывает просто вниз для стоения. Пока хорошо поддерживаемый центральный CSS подход к расположению не выходит, и я говорю о на макро-уровне... не микро в контейнерах, пробовать к расположению CSS рожка для обуви в обобщенный подход к расположению неэффективно. Необходимо приблизиться к этому с точки зрения человека, выписывающего чек на разработку.

Несколько лет назад я заключил контракт, чтобы разработать и поддерживать сайт для крупнейшей гостиничной сети. Мы пошли с табличным расположением; Ваш основной заголовок, тело, нижний колонтитул со слева/справа столбцами. Мы также использовали таблицы для некоторых более прекрасных элементов как неграфические кнопки. Компания-учредитель цепочки поддерживала их собственный сайт и пошла с чистым подходом CSS к расположению. Когда IE7 вышел, наш сайт работал отлично без любых изменений. Сайт компании-учредителя был путаницей. В целом они провели приблизительно 1 000 общих часов (между встречами/разработкой/QA/развертыванием) устранение проблем.

то, Когда Вам платят для разработки части сайта ответственности, должно смягчить против будущего риска и минимизировать будущие затраты на разработку, особенно если те затраты не увеличивают стоимость сайта (продукт).

5
задан Paul Sweatte 28 June 2013 в 18:21
поделиться

1 ответ

  1. Регулярное выражение ожидает часовой пояс «Zulu» (символ «Z» в конце), в то время как пример строки даты и времени показывает числовой часовой пояс («-04: 00»). Следующее регулярное выражение будет принимать оба:

     / ^ (\ d {4}) - (\ d {2}) - (\ d {2}) T (\ d {2}): (\ d {2} ): (\ d {2} (?: \. \ d *)?) (Z | ([+ \ -]) (\ d {2}): (\ d {2})) $ /
    

    Если цифры часового пояса не равны нулю, вы можете фактически изменить дату после синтаксического анализа и / или преобразования в UTC, чтобы уважать часовой пояс.

  2. Я вижу, что выполняется dateReviver (). Попробуйте в браузере следующее:

     
    
     
     
     
     <сценарий>
     $ (function () {
     // фиктивный прокси для возврата некоторого json для игры
     var proxy = {
     getArticle: function (id, foo) {foo ({
     результат: '["2009-04-04T22: 55: 16.0000000-04: 00"]'
    }); }
     };
     // исходный объект Site с фиксированным регулярным выражением
     var Site = {
     dateReviver: function (ключ, значение) {
     var a;
     if (typeof value === 'строка') {
     a = / ^ (\ d {4}) - (\ d {2}) - (\ d {2}) T (\ d {2}): (\ d {2}): (\ d {2} (?: \. \ d *)?) (Z | ([+ \ -]) (\ d {2}): (\ d {2})) $ /. exec (значение);
     если) {
     вернуть новую дату (Date.UTC (+ a [1], + a [2] - 1, + a [3], + a [4],
     + a [5], + a [6]));
     }
     }
     возвращаемое значение;
     },
     loadArticle: function (id) {
     proxy.getArticle (id, function (response) {
     var data = JSON.parse (response.result, Site.dateReviver);
     // помещаем проанализированную дату JSON на страницу
     $ ("# вывод"). html (данные [0] .toString ());
     });
     }
     };
     // пробуем наш объект Site
     Site.loadArticle ();
     });
     
     
     
     

    Я получаю следующее в браузере, свидетельствующее об успешном синтаксическом анализе:

     Сб, 4 апреля, 15:55:16 PDT 2009
    
6
ответ дан 18 December 2019 в 09:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: