Временны́е метки

Материал из Энциклопедия Хаб.ру
Перейти к: навигация, поиск

Содержание

Временны́е метки (Timestamps)

Временна́я метка или timestamp — количество секунд, прошедшее с начала эпохи Unix — 1 января 1970 года 0 часов, 0 минут, 0 секунд. (Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)

Временны́е метки файлов

У файла в системе GNU/Linux cуществует три типа временны́х меток:

mtime: время модификации (ls -l), 
ctime: время изменения состояния (ls -lc) и 
atime: время последнего доступа (ls -lu). 

Обратите внимание, что ctime не является временем создания файла.

Перезапись файла изменит каждую из временных меток mtime, ctime и atime файла.

Изменение прав доступа или владельца файла изменит временные метки ctime и atime.

Чтение файла изменит временную метку atime.

Обратите внимание, что даже простое чтение файла в системе обычно приводит к операции записи с файлом для обновления временной метки atime в структуре inode. Монтирование файловой системы с опцией noatime позволит системе не делать эту операцию и приведет к повышению скорости чтения. Смотрите страницу mount(8).

Используйте команду touch(1) для изменения временны́х меток существующих файлов.

Bash функции для работы с timestamp

#!/bin/bash
 
date2stamp () {
    date --utc --date "$1" +%s
}
 
stamp2date (){
    date --utc --date "1970-01-01 $1 sec" "+%Y-%m-%d %T"
}
 
dateDiff () {
    case $1 in
        -s)   sec=1;      shift;;
        -m)   sec=60;     shift;;
        -h)   sec=3600;   shift;;
        -d)   sec=86400;  shift;;
        *)    sec=86400;;
    esac
    dte1=$(date2stamp $1)
    dte2=$(date2stamp $2)
    diffSec=$((dte2-dte1))
    if ((diffSec < 0)); then abs=-1; else abs=1; fi
    echo $((diffSec/sec*abs))
}

MacOSX

date +%s
 
date -r 1272960683
 
stamp2date (){
        date -r 1293577902 +%Y-%m-%dT%H:%M:%S
}
 
touch -t 201005041323 ids.watchdog.lock

Операции со временем

bash

t=$(echo "scale=10; `date +%s`+`date +%N`/1000000000"|bc); echo $t

MySQL

select FROM_UNIXTIME(1331067062);

Внешние ссылки

  1. Справочник по Debian
  2. Simple date and time calulation in BASH
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты