Скрипт JavaScript / таймер на iOS не работает [дубликат]

С SQL Compare ( http://www.red-gate.com/products/sql-development/sql-compare/ ) и SQL Data Compare ( http: // www .red-gate.com / products / sql-development / sql-data-compare / ), вы можете синхронизировать разные БД.

14
задан Luciano Nascimento 19 February 2014 в 16:39
поделиться

3 ответа

Чтобы облегчить вашу проблему, выполните следующие действия:

new Date('2014-02-18 15:00:48')

Эта работа работает в хромированном режиме, но не в сафари. В mdn говорится о поддержке формата ECMAScript 5 ISO-8601 :

В качестве альтернативы строка даты / времени может быть в формате ISO 8601. Например, «2011-10-10» (только дата) или «2011-10-10T14: 48: 00» (дата и время) могут быть переданы и проанализированы.

Если вы include T он работает:

new Date('2014-02-18T15:00:48')

Вы можете использовать new Date('2014-02-18T15:00:48'.replace(/\s/, 'T')).

Если вы справитесь со многими случаями, как это, я рекомендую использовать момент , который, по-видимому, отлично справляется с этим случаем с или без T: синтаксического анализа из строки . Кроме того, весь ваш пример проще с помощью momentjs:

var minutes = moment().diff("2014-02-18 15:00:48", 'minutes');
34
ответ дан José F. Romaniello 15 August 2018 в 20:52
поделиться

Я думаю, что Хосе пропустил одну точку здесь. Не забудьте включить Z, иначе будет отставание часового пояса.

new Date ('2014-02-18T15: 00: 48') new Дата ('2014-02-18T15: 00: 48Z')

Вы можете использовать new Date('2014-02-18T15:00:48'.replace(/\s/, 'T')+'Z').

См. Это для получения дополнительной информации - новая дата () работает по-разному в Chrome и Firefox

2
ответ дан Abhishek Jain 15 August 2018 в 20:52
поделиться
  • 1
    Просьба прокомментировать ответ Хосе вместо нового ответа. – vinS 13 December 2017 в 11:32
  • 2
    Я не могу комментировать, если это не мой собственный ответ. Говорит - «У вас должно быть 50 репутации для комментариев». :( – Abhishek Jain 24 December 2017 в 04:49

Я видел такую ​​проблему раньше, и что для меня работает, - это заменить пространство между датой и временем на T. Попробуйте следующее:

Обновлен JavaScript:

function calculateMinutes() {
    $('.calculateMinutes').each(function () {
        var timestamp = $(this).data('timestamp').replace(' ', 'T');
        var diff = Math.abs(new Date(timestamp) - new Date());
        var minutes = Math.floor((diff / 1000) / 60);
        $(this).html(minutes + ' min.');
    });
}

JSFiddle здесь .

2
ответ дан Jamie Dunstan 15 August 2018 в 20:52
поделиться
Другие вопросы по тегам:

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