Как вы получаете метку времени в JavaScript?

public static class MyExtensions
{
    public static IEnumerable<IEnumerable<T>> Batch<T>(this IEnumerable<T> items,
                                                       int maxItems)
    {
        return items.Select((item, inx) => new { item, inx })
                    .GroupBy(x => x.inx / maxItems)
                    .Select(g => g.Select(x => x.item));
    }
}

, и использование будет:

List<int> list = new List<int>() { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

foreach(var batch in list.Batch(3))
{
    Console.WriteLine(String.Join(",",batch));
}

OUTPUT:

0,1,2
3,4,5
6,7,8
9
3765
задан Salman A 27 April 2015 в 21:49
поделиться

6 ответов

Короткий & Притягательный:

+ new Date()

унарный оператор А как plus триггеры valueOf метод в эти Date объект и это возвращают метку времени (без любого изменения).

Детали:

почти На всех текущих браузерах можно использовать Date.now() для получения метки времени UTC в [1 134] миллисекунды ; существенное исключение к этому является IE8 и ранее (см. таблица совместимости ).

можно легко сделать контейнер для этого, хотя:

if (!Date.now) {
    Date.now = function() { return new Date().getTime(); }
}

Для получения метки времени в [1 135] секунды можно использовать:

Math.floor(Date.now() / 1000)

Или альтернативно Вы могли использовать:

Date.now() / 1000 | 0

, Который должен быть немного быстрее, но также и менее читаемым (также см. этот ответ ).

я рекомендовал бы использовать Date.now() (с контейнером совместимости). Это немного лучше, потому что это - более короткий & не создает новое Date объект. Однако, если Вы не хотите контейнер & максимальная совместимость, Вы могли использовать "старый" метод для получения метки времени в [1 136] миллисекунды :

new Date().getTime()

, Который можно тогда преобразовать в секунды как это:

Math.round(new Date().getTime()/1000)

И можно также использовать valueOf метод, который мы показали выше:

new Date().valueOf()

Метка времени в Миллисекундах

var timeStampInMs = window.performance && window.performance.now && window.performance.timing && window.performance.timing.navigationStart ? window.performance.now() + window.performance.timing.navigationStart : Date.now();

console.log(timeStampInMs, Date.now());
4625
ответ дан Chuck Le Butt 27 April 2015 в 21:49
поделиться
  • 1
    Добро пожаловать на Так, сюда, это - хорошая практика для объяснения, почему использовать решение и не как. Это сделает Ваш ответ более ценным и поможет дальнейшему читателю иметь лучшее понимание того, как Вы делаете это. Я также предлагаю, чтобы Вы взглянули на наш FAQ: stackoverflow.com/faq . – ForceMagic 8 November 2012 в 20:04
var time = Date.now || function() {
  return +new Date;
};

time();
138
ответ дан Martin Tournoij 27 April 2015 в 21:49
поделиться
  • 1
    OP здесь, I' m больше не работающий над этой проблемой (я сдался), но я должен добавить, что действительно делал попытку точно этого. Я don' t помнят все детали, но я пытался использовать и InputStream и несколько каналов FIFO с помощью ОС (Один канал для видео, один для аудио). Однако проблема с этим методом состояла в том, что это я был неспособен предоставить ffmpeg достаточно информации, чтобы понять и декодировать видео пакеты, сгенерированные каналом камеры. Настоящая причина я хотел использовать rtsp, была то, что он - теоретически - предоставит FFmpeg достаточно информации для декодирования прямой трансляции. – joebobfrank 2 November 2012 в 03:29
var timestamp = Number(new Date()); // current time as number
83
ответ дан aemkei 27 April 2015 в 21:49
поделиться

 console.log (new Date (). ValueOf ()); // возвращает количество миллисекунд с начала эпохи 
44
ответ дан 17 December 2019 в 16:00
поделиться

Получают TimeStamp В JavaScript

В JavaScript, метка времени является количеством миллисекунд, которые передали с 1 января 1970.

, Если Вы не намереваетесь поддерживать < IE8, можно использовать

new Date().getTime(); + new Date(); and Date.now();

для прямого получения метки времени, не имея необходимость создавать новый объект Даты.

Для возврата необходимой метки времени

new Date("11/01/2018").getTime()
1
ответ дан 17 December 2019 в 16:00
поделиться
time = Math.round(((new Date()).getTime()-Date.UTC(1970,0,1))/1000);
-19
ответ дан 17 December 2019 в 16:00
поделиться
Другие вопросы по тегам:

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