SafeCopy вручную завершает ISO

Если вам нужна разница в днях, тогда, если у вас есть GNU awk ( gawk ), вы можете сделать что-то вроде

gawk -F, '
  {
    split($3,a,"/"); 
    split($4,b,"/"); 
    t1 = mktime(sprintf("%d %d %d 0 0 0 0",a[3],a[1],a[2])); 
    t2 = mktime(sprintf("%d %d %d 0 0 0 0",b[3],b[1],b[2])); 
    print (t2-t1)/86400
  }
' filename
260
308
-1886
-1683
-1501

Аргумент mktime должен быть строкой в ​​формате «ГГГГ ММ ДД ЧЧ ММ СС [DST]» ; установка необязательного флага DST в ноль указывает ему игнорировать переход на летнее время (в противном случае наивное деление на 86400 приводит к дробным дням).

См. Gawk: Эффективное программирование AWK, 9.1.5 Функции времени

2
25.08.2016, 13:38
0 ответов

Теги

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