On Sat, Sep 04, 1999 at 08:24:45PM +0200, Andrej Lajovic wrote:
> Hoj!
> Bom se jaz mal s tem zatezil :)
> Zanima me namrec, kako bi pretvoril datum v tist sistemski integer
> (sekunde od 1.1.1970). "man ctime" sicer pravi, da je za to funkcija
> getdate, ampak jaz je nisem nasel. Potem sem cisto slucajno odkril, da je
> tapravo "man newcdate", od tam naprej mi pa ni vec kej dost jasno.
> Prosil bi za en example programcek, ker se C-ja se ucim in mi bo tako
> zadeva se najbolj jasna. Hvala vnaprej!
No, ce prav razumem, ti rabis tole:
v spremenljivki buf je datum: "Sep 4 20:38:58"
potem takole to postoris:
deklariras spremenljivko, ki bo drzala vrednosti:
struct tm timestruct;
klices funkcijo, ki iz stringa izlusci vrednosti (za formatting
string glej man page):
strptime(buf1, "%h %e %T", ×truct);
in ko to izvedes ima struktura times (man strptime) zapolnjene
nekatere vrednosti (tiste ki so na voljo). Potem zapolnis se ostale
manjkajoce reci (v primeru letnico) in klices mktime(×truct),
ki vrne time_t (sekunde od unix epoch).
Razliko dveh izracuna difftime (glej man page).
Jure