Вы можете использовать momentjs для выполнения требования.
console.log(`Current time -----`, moment().fromNow())
console.log(`From device's last update time ----`, moment('2019-01-11T15:55:47.377+0000').fromNow())
Вы также можете использовать в ExtJS. Вы можете проверить здесь с работающей скрипкой Сенча .
Фрагмент кода
Ext.application({
name: 'Fiddle',
launch: function () {
function randomDate(start, end) {
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
}
// Define store
Ext.define('DataStore', {
extend: 'Ext.data.Store',
alias: 'store.datastore',
pageSize: 50,
fields: [
'title', 'forumtitle', 'forumid', 'username', {
name: 'replycount',
type: 'int'
}, {
name: 'lastpost',
convert: function (v, r) {
let date = randomDate(new Date(2018, 0, 1), new Date());
return moment(date).fromNow();
}
},
'lastposter', 'excerpt', 'threadid'
],
remoteSort: true,
proxy: {
// load using script tags for cross domain, if the data in on the same domain as
// this page, an HttpProxy would be better
type: 'jsonp',
url: '//www.sencha.com/forum/topics-browse-remote.php',
reader: {
rootProperty: 'topics',
totalProperty: 'totalCount'
},
// sends single sort as multi parameter
simpleSortMode: true
}
});
Ext.create('Ext.grid.Panel', {
title: 'ExtJs Forum',
store: {
type: 'datastore'
},
autoLoad: true,
columns: [{
text: 'Forum Title',
dataIndex: 'forumtitle',
flex: 1
}, {
text: 'Last update',
dataIndex: 'lastpost',
flex: 1
}, {
text: 'Title',
dataIndex: 'title',
flex: 1
}],
bbar: {
xtype: 'pagingtoolbar',
displayInfo: true
},
height: 450,
renderTo: Ext.getBody()
});
}
});
Попытка:
find . -name "*.undo" -ls | awk '{total += $7} END {print total}'
В моей системе размер файла является седьмым полем в эти find -ls
вывод. Если Ваш find … -ls
вывод отличается, корректироваться.
В этой версии, с помощью существующей информации о каталоге (размер файла) и встроенная ls функция находки должно быть эффективным, избежав созданий процесса или файла i/o.
Python является частью большинства дистрибутивов Linux.
import os
import fnmatch
size= 0
for path, dirs, files in os.walk( '.' ):
for f in files:
if fnmatch.fnmatch(f,'*.py'):
fileSize= os.path.getsize( os.path.join(path,f) )
print f, fileSize
size += fileSize
print size
Длинноватый, но совершенно ясный и очень расширяемый.
find -name '*.undo' -exec wc -c {} + | tail -n 1
должен дать фактическое общее количество байтов в файлах, если у Вас нет слишком многих файлов (где "слишком многие" будут действительно большим количеством, вероятно, в тысячах). Или если Вы просто хотите получить одно только число,
find -name '*.undo' -exec wc -c {} + | tail -n 1 | cut -d' ' -f 1
du -c *pattern*
Это распечатает общее количество на последней строке вывода.
С zsh можно использовать расширенный globbing, чтобы сделать:
-c **/*.undo
единицы Добсонаfind -name '*.undo' -print0 | du -hc --files0-from=- | tail -n 1
Собрано из вкладов gerdemb и strager. Использование du -cb
должно отображать байты.