Tipul data calendaristica 

 

O constanta de tip data calendaristica se specifica prin luna, ziua si anul corespunzator separate prin caracterul ‘/’ (implicit) si incadrate intre paranteze acolade.

Data calendaristica vida se specifica prin blancuri in pozitiile zilei, lunii si anului {  /  /  } sau printr-un singur blanc incadrat intre  paranteze acolade {  }.

Constantele de tip data calendaristica sunt reprezentate in calculator prin numere reprezentand zile. Ca urmare a acestui fapt se poate aduna o constanta intreaga la o data calendaristica, obtinandu-se tot o data calendaristica.

 

1) Formatul de specificare a datelor calendaristica este controlat de comanda SET  DATE <format>, care poate primi unul din urmatorii parametri:

 

Nume parametru <format>

Forma de afisare

AMERICAN

mm/dd/yy

ANSI

yy.mm.dd

BRITISH/FRENCH

dd/mm/yy

GERMAN

dd.mm.yy

ITALIAN

dd-mm-yy

JAPAN

yy/mm/dd

USA

mm-dd-yy

MDY

mm/dd/yy

DMY

dd/mm/yy

YMD

yy/mm/dd

Formatul implicit este AMERICAN.

 

Exemplu trecere la formatul German:

 

SET DATE GERMAN

 

2) Separatorul de data poate fi specificat cu ajutorul comenzii SET  MARK TO <caracter>

Exemplu: (pp. avem setat formatul American: ll/zz/aa)

 

SET MARK TO ‘^’

 

? {01/22/2002}

01^22^2002

 

3) Revenirea la separatorul implicit al formatului setat, se face astfel:

Exemplu: (pp. avem setat formatul data American si separatorul (^): ll^zz^aa)

 
SET MARK TO

 

? {01^22^2002}

01/22/2002

 

4) In specificarea anului se pot folosi doua cifre, caz in care  se presupune automat ca ne referim la secolul XX, sau prin patru cifre cand anul este specificat complet. Alegerea intre aceste doua variante se poate face cu comanda SET CENTURY, la care se adauga OFF (pentru doua cifre) sau ON (pentru patru cifre).

 

SET CENTURY ON

 

?{10/20/98}

10/20/1998

 

SET CENTURY OFF

 

?{10/20/1998}

10/20/98

 

 

Functii/ comenzi data calendaristica:

Functie

Efect

DATE()

Returneaza data curenta (20 octombrie 2002)

? DATE()

10/20/02

DAY(ex_data_c)

Returneaza ziua in cadrul lunii din data calendaristica primita ca argument

? DAY({10/20/2002})

20

MONTH(ex_data_c)

Returneaza luna din data calendaristica primita ca argument

? MONTH({10/20/2002})

10

YEAR(ex_data_c)

Returneaza anul din data calendaristica primita ca argument

? YEAR({10/20/2002})

2002

? YEAR({10/20/02})

1902

DOW(ex_data_c)

Returneaza a cata zi din saptamana este ziua din ex_data_c (day of week)

? DOW({10/20/2002})

1

? DOW({10/20/02})

2

1 pt duminica, 2 pt luni,...7 pt sambata

CDOW(ex_data_c)

Returneaza numele zilei din ex_data_c (character day of week)

? CDOW({10/20/2002})

Sunday

? CDOW({10/20/02})

Monday

GOMONTH(ex_data_c, ex_int)

Relativ la data din primul argument se inainteaza sau se inapoiaza cu un numar de luni specificat de al doilea argument

? GOMONTH({8/20/2002},4)

12/20/2003

? GOMONTH({10/20/2002},-4)

06/20/2002

CMONTH(ex_data_c)

Intoarce numele lunii din data primita ca argument

? CMONTH({10/20/2002})

October

DMY(ex_data_c)

Intoarce data sub forma de sir

? DMY({10/20/2002})

20 October 2002

MDY(ex_data_c)

Intoarce data sub forma de sir

? MDY({10/20/2002})

October 20, 2002

DTOC(ex_data_c)

Transforma data primita ca argument in sir de caractere conform formatului de data setat cu comenzile SET DATE si SET CENTURY

Exemplu: (pp. avem setat formatul American si anul pe patru cifre: ll/zz/aaaa)

? DTOC({10/20/2002})

10/20/2002

DTOS(ex_data_c)

Transforma data primita ca argument intr-un sir de 8 caractere indiferent de formatul setat

? DTOS({10/20/1998})

19981020  adica AAAALLZZ

CTOD(sir)

Transforma un sir de caractere intr-o data calendaristica conform formatului de data setat cu comenzile SET DATE si SET CENTURY

(pp. avem setat formatul data American cu anul pe patru cifre: ll/zz/aaaa)

? CTOD(‘10/20/98’)

10/20/1998

? CTOD(‘hk/20/98’)               && sir neconvertibil la data

    /    /                                       && data vida

TIME()

Intoarce timpul de la sistem

? TIME()

14:49:21 adica hh:mm:ss

? TIME(numar)          && include si sutimi de secunda

14:49:22.79      

SET CLOCK ON/ OFF

Afiseaza pe ecran ora sistemului

SET CLOCK TO lin, col

Pozitioneaza pe ecran ora sistemului