ctime, mktime

David Sauer davids na penguin.cz
Pátek Říjen 15 00:43:12 CEST 1999


>>>> "PT" == Petr Tesarik <tesarik na lupa.cz> writes:

    PT> Zdravim!  Kdyz uz je pry v Debianu programek realpath (coz bych si
    PT> predstavoval jako relativne inteligentni wrapper pro realpath(3)),
    PT> napsal uz take nekdo wrapper pro ctime(3) (resp. localtime(3))? 
    PT> Teda omlouvam se, jestli jsem prehledl zpusob, jak utilite date
    PT> zadat do parametru --date pocet sekund od 1.1.1970,00:00GMT... ;)
    PT> Na me to vyplivne "invalid date". Ono by vlastne stacilo upravit
    PT> date, aby interpretoval jedno cislo prave jako Unix-epoch
    PT> time. Hm. A protlacit to do oficialni verze...

To radsi ne, mohl by to brat jako datum YYYYMMDD. Lze predsi pouzit:

date --date '1/1/1970 GMT <pocet> seconds', napr.:

(58) $ LC_ALL="" LANG="" date --date '1/1/1970 UTC + 939940126 sec'
Fri Oct 15 01:28:46 CEST 1999
===================================================================

Pri tom jsem narazil na vec, ktere nerozumim:
rekneme,ze je:
(60) $ LC_ALL="" LANG="" date; perl -e 'print time';  
Fri Oct 15 00:39:11 CEST 1999
939940751

Kdyz pouziji vyse uvedenou konstrukci, tedy:
LC_ALL="" LANG="" date --date '1/1/1970 UTC + 939940751 sec'

Dostanu vystup:
Fri Oct 15 01:39:11 CEST 1999

tedy o hodinu vice, nez bych ocekaval (v radku '(60)' jsem se preci ptal na 
cas prislusny k lokalnimu datu 00:39:11). Proc ?

                                        dekuji,

-- 
* David Sauer, student of Czech Technical University
* electronic mail: davids na penguin.cz (mime compatible)


Další informace o konferenci Linux