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
+ 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());
var time = Date.now || function() {
return +new Date;
};
time();
var timestamp = Number(new Date()); // current time as number
console.log (new Date (). ValueOf ()); // возвращает количество миллисекунд с начала эпохи
Получают TimeStamp В JavaScript
В JavaScript, метка времени является количеством миллисекунд, которые передали с 1 января 1970.
, Если Вы не намереваетесь поддерживать < IE8, можно использовать
new Date().getTime(); + new Date(); and Date.now();
для прямого получения метки времени, не имея необходимость создавать новый объект Даты.
Для возврата необходимой метки времени
new Date("11/01/2018").getTime()
time = Math.round(((new Date()).getTime()-Date.UTC(1970,0,1))/1000);