DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   date klasa v0.0.4 (http://www.devprotalk.com/showthread.php?t=215)

oliver78 18. 09. 2005. 02:07

date klasa v0.0.4
 
1 Prilog(a)
Evo napravio sam jednu klasu za baratanje sa datumima koja omogućuje da dobijemo na izlazu datum i vreme prilagođeni našem podneblju.
Fajl je u prilogu. Probajte.

oliver 20. 09. 2005. 11:49

$nasDatum = date("d.m.Y.", $timestamp); ? :)

Btw:

Citat:

Ne postoji vest sa zadatim id-ijem

godza 20. 09. 2005. 17:35

Citat:

Originalno napisao oliver
$nasDatum = date("d.m.Y.", $timestamp); ? :)

Btw:

oliver odgovara oliveru? hmmm

oliver78 20. 09. 2005. 18:43

godza@
- Oliver odgovara oliveru78.

oliver@
- Datum je u obliku "20. septembar 2005.", a jednostavno se dodaju funkcije koje su potrebne.
- Pomocu privatnog podatka $timezone lako se pomera vremenska zona u kojoj se server nalazi.
- Juce sam uploadovao novu verziju bloga koja radi sa vecom tablom za clanke tako da sam morao da brisem predhodne postove. Inace blog je u fazi priprema.
- Ako imas nekog predloga za neku korisnu f-ju koja bi mogla da se doda u klasi javi na e-mail.

[nq] 20. 09. 2005. 19:00

Ili oliveri to mozete da napisete ovde. :)

Ilija Studen 21. 09. 2005. 05:19

Glupi RAR. Ajd kad kačite nešto kačite ga u nekom od standardnih formata (ZIP, TGZ).

oliver78 21. 09. 2005. 13:58

1 Prilog(a)
Evo i zip foramta.

Povremeno (kad nesto izmenim) dodaću na http://oliver78.freestarthost.com/blog/index.php.

oliver78 03. 11. 2005. 16:14

1 Prilog(a)
PHP Klasa 'date v0.0.5'

Sređena je dokumentacija i primeri (4 primera) koji ukratko prikazuju način korišćenja klase.

Molim za sugestije kritike, predloge.

oliver78 29. 01. 2006. 23:43

1 Prilog(a)
Evo doradjene klase.
Sada se moze birati izmedju

yyyyddmmHHiiss

formata i

yyyy-DD-mm HH:ii:ss

u skladu sa potrebama za MySQL 4.1.14.

Pedja 30. 01. 2006. 09:16

dodaj:

- mogucnost da se default format datuma i vremena mogu podesiti

- mogucnost da se datum i vreme mogu dobiti preko funkcije koja kao parametar prima formatiranje

- mogucnost da se podesi koja je sistemska vrmenska zona (na serveru na kome se skript izvrsava) i lokalna vremenska zona (ona u kojoj je posetilac sajta)

- mogucnost da klasa sama detektuje vremensku zonu posetioca

- podrska za automatsko korigovanje vremena kod pomeranja sata

- malo je neprakticno da se za svaku operaciju nad nekim novim datumom mora kreirati klasa. Bolje bi bilo da se klasa kreira jednom, a da se pozivima medota mogu raditi obrade datuma i vremena po potrebi. Drugim recima, izbaci setovanje datuma u kreiranju klase, a dodaj zasebnu funkciju za tu namenu

- dodaj metode GetCurrentDateTime/GetCurrentTime kao i GetLocalDateTime/GetLocalTime i ssytemToLocalDateTime/SystemToLocalTime i slicno.

oliver78 30. 01. 2006. 10:17

Hvala na iscrpnim sugestijama.
Samo da proverim da li sam dobro razumeo.
Ako nisam, molim te ispravi me.

1. mogucnost da se default format datuma i vremena mogu podesiti

Umesto konstruktora, koristiti podrazumevani konstruktor, a lokalne promenjive setovati pomocu SET metoda.

2. mogucnost da se datum i vreme mogu dobiti preko funkcije koja kao parametar prima formatiranje.

Umesto zadavanje globalne promenjive _VERSION koristiti lokalnu promenjivu koja se moze setovati pomocu SET metode.

3. mogucnost da se podesi koja je sistemska vrmenska zona (na serveru na kome se skript izvrsava) i lokalna vremenska zona (ona u kojoj je posetilac sajta)

Uvesti 2 lokalne promenjive za sistemsku zonu servera i lokalnu zonu posetioca tako da se moze izracunati vremenska razlika.

4. mogucnost da klasa sama detektuje vremensku zonu posetioca

Automatizovati setovanje predhodne dve promenjive.

5. podrska za automatsko korigovanje vremena kod pomeranja sata

Hmmm.... Podatke o vremenu citam iz baze ili iz racunara (koji vodi racuna o pomeranju sata). Neznam na sta se odnosi.

6. malo je neprakticno da se za svaku operaciju nad nekim novim datumom mora kreirati klasa. Bolje bi bilo da se klasa kreira jednom, a da se pozivima medota mogu raditi obrade datuma i vremena po potrebi. Drugim recima, izbaci setovanje datuma u kreiranju klase, a dodaj zasebnu funkciju za tu namenu

Trenutni konstruktor preraditi kao posebnu funkciju, uvesti podrazumevani konstruktor i set metode.

7. dodaj metode GetCurrentDateTime/GetCurrentTime kao i GetLocalDateTime/GetLocalTime i SytemToLocalDateTime/SystemToLocalTime

Dodavanje funkcija koje vracaju trenutno vreme.
SystemToLocal? Sta bi ova trebalo da radi?

+8 Da li je zgodno uvesti funkciju reset koja vraca sve promenjive na default (npr. 0 ili nesto tako). Iz sledeceg razloga: ako se pozove jednom funkcija i setuju metode, da se pre ponovnog koriscenja resetuju vrednosti, da ne bi nesto ostalo iz predhodnog setovanja. Mada mi ne zvuci... ili... hmmm...

Dodati funkcije koje vracaju trenutno vreme.
Ne razumem na sta se odnose SystemToLocalDateTime. Da li na izracunavanje vremenske razlike izmedju servera i klijenta?


Hvala, jos jednom.

Pedja 30. 01. 2006. 11:10

Citat:

Originalno napisao oliver78
2. mogucnost da se datum i vreme mogu dobiti preko funkcije koja kao parametar prima formatiranje.

Umesto zadavanje globalne promenjive _VERSION koristiti lokalnu promenjivu koja se moze setovati pomocu SET metode.

Ostavii mogunost da se metodi moze kao parametar proslediti format. Neprakticno je da za svaku operacuju moras prvo da podesis propertije klasepa pozovesmetodu. Zato sam ipredlozio default. Ako se prilikom poziva metodane navede foramtiranje onda se koristi default. Tako dobija mnogo vecu funkcionalnost.

Citat:

5. podrska za automatsko korigovanje vremena kod pomeranja sata

Hmmm.... Podatke o vremenu citam iz baze ili iz racunara (koji vodi racuna o pomeranju sata). Neznam na sta se odnosi.
Dvaput godisnje vreme se pomera, jednom sat unapred, jednom sat unazad. Klasa bi trebala da zna za to i da automatski prikazuje ispravno vreme. Drugimrecima, ne pamtiv vremensku zonu kao broj sati za koliko se vrsi pomeraj u odnosu na grinicko vreme, nego pamtis onzaku zone, a stvarni pomeraj racunas.


Citat:

SystemToLocal? Sta bi ova trebalo da radi?

Ne razumem na sta se odnose SystemToLocalDateTime. Da li na izracunavanje vremenske razlike izmedju servera i klijenta?
Te funkcije bi terbale da preracunaju sistemsko vreme servera u lokalno vreme posetioca sajta. U principu, bilo bi zgodno i da imas jedan properti uklasi koj oznacava dali ce klasa da radi sa sistemskim ili lokalnim vremenom i da se to automatski odrazava na sve funkcije osim onih koje to podesavanje treba da ignorisu kao sto su GetSystemTime, GetLocalTime i slicno.

Postmaraj problem iz ovog ugla: sajt ti se nalazi na hsotu u USA a korisnik koji dolazi na sajt je iz Srbije. Korinik iz Srbije ocekuje datum i vreme za svoju tekucu vremensku zonu (ukljucujuci i DaylightSavingTime). Ako isti sajt poseti neko iz Japana, on opet ocekuje da vidi svoje lokalno vreme. Probaj da u klasuubasis to vise mehanizama koja pojednostavljuju baratanje sa datumom i vremenom u ovakvim situacijama.

oliver78 01. 02. 2006. 01:31

date klasa v0.1.2
 
1 Prilog(a)
Vrsi se automatsko setovanje formata u yavisnosti od duzine timestampa. Naravno moye se dodatno i sprovesti ispravnost kompletnog formata. Kako za ceo timestamp tako i za svaku stavku posebno.

0 - yyyymmddHHiiss
1 - yyyy-mm-dd HH:ii:ss

Do potrebe za ovim dodatkom je došlo iz razloga što je format pod brojem 1, format za timstamp polja u MySQL bazi od verzije 4.1.14.

Podrazumevani konstruktor vraca trenutno vreme, timezona je 0 i format j 0. Sve do setovanja nekog drugog datuma u timestamp formatu.

Takođe je dosta promenjena struktura baze i nije kompatibilna sa predhodnom verzijom klase.

Nove funkcije su:
SetServerTimeZone(), SetFormat(), MakeTime()...

Ima i par primera.

Da li je ovakva struktura dobra za lakse doradjivanje? Teznja za kasnijom implemetacijim predlozenih metoda u ranijim postovima.

Pedja 01. 02. 2006. 02:06

Preimenuj klasu u nesto drugo, recimo opDate. Naziv Date je mislim rezervisana rec a svejedno moze da pravi zabunu jer je opsti pojam.

Svojstva...

var $mTimeStamp;
var $mYear;
var $mMonth;
var $mDay;
var $mHour;
var $mMinute;
var $mSecond;


...su ti nepotrebna. Napravi medote koji su funkcije da vracaju trazenu vrednost, a ne da pune ova svojstva. Tako ce moci da budu upotrebljena prirodno kao na primer $myear = date->GetYear();

oliver78 01. 02. 2006. 02:26

Da, jasno.
Za razliku od predhodnih verzija, ovde se moze setovati timestamp, a da se posle vracaju potrebni podaci. Dakle da li onda ostaviti

var $mTimeStamp; // ovu ovde
var $mTimeZone;
var $mFormat;


Vreme je GMT +2. Trenutno vreme je 18:28.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.