DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   php klasa DateTime i modify metoda -> 12 u mesecu (http://www.devprotalk.com/showthread.php?t=10954)

spezia 19. 04. 2012. 19:16

php klasa DateTime i modify metoda -> 12 u mesecu
 
Mucim se sa ovom klasom DateTime...

Koristim metodu modify();

I sad mi treba 17 u prosli mesec.
Znaci ne " +17 days of last month", vec 17 u martu recimo, stim sto ovo ne mogu da uradim sa nekim oduzimanjem ili sabiranjem (jer zavisi od vremeske zone). Treba mi nesto kao " last day of last month", samo da mogu da uzmem 15, 17 ili neki drugi datum...

Nadam se da nisam bio previse konfuzan.

webarto 19. 04. 2012. 19:58

PHP kôd:

date_default_timezone_set('UTC');

echo 
"17 March 2012 is on a " date("l"mktime(0003172012)); // Saturday 

?

ivanhoe 19. 04. 2012. 22:13

PHP kôd:

$date = new DateTime();
$date->modify('first day of last month')->modify('+16 days'); 

mada je naravno sa setDate() ili mktime() mnogo efikasnije...

spezia 20. 04. 2012. 09:33

Citat:

Originalno napisao ivanhoe (Napišite 106568)
PHP kôd:

$date = new DateTime();
$date->modify('first day of last month')->modify('+16 days'); 

mada je naravno sa setDate() ili mktime() mnogo efikasnije...

Ja sam zeleo da iskoristim DateTime klasu i metodu modify()... mislio sam da su napravili tu opciju 17 u sledeci mesec ili dva meseca ranije.
Ovo sto si ti napisao sam napisao i ja ( oduzimanje i sabiranje dana). Problem je sto imam korisnike iz razlicite zone. ako zelim nesto da racunam 17 marta, a korisnik je u zoni +12, onda cu dobiti 18 mart, ili ako je korisnik u zoni -12, mogu da dobijem i 16 mart. Zato bas zelim da svima bude 17 mart, zato sam rekao ako ima opcija kao sto je " first day of last month" ili "last day of last month", cudi me da ne radi recimo " fifth day of last month" ili nesto slicno.

spezia 20. 04. 2012. 11:33

Citat:

Originalno napisao spezia (Napišite 106577)
Ja sam zeleo da iskoristim DateTime klasu i metodu modify()... mislio sam da su napravili tu opciju 17 u sledeci mesec ili dva meseca ranije.
Ovo sto si ti napisao sam napisao i ja ( oduzimanje i sabiranje dana). Problem je sto imam korisnike iz razlicite zone. ako zelim nesto da racunam 17 marta, a korisnik je u zoni +12, onda cu dobiti 18 mart, ili ako je korisnik u zoni -12, mogu da dobijem i 16 mart. Zato bas zelim da svima bude 17 mart, zato sam rekao ako ima opcija kao sto je " first day of last month" ili "last day of last month", cudi me da ne radi recimo " fifth day of last month" ili nesto slicno.

Izvini nisam pazljivo pogledao tvoje resenje (pogledao sam samo zadnju metodu, heh) ... Ovo je dobro. Tnx

ivanhoe 20. 04. 2012. 23:10

np.

nazalost ne postoji nacin da se kaze 5th day of last month, mada se secam da sam video caku da mu se kaze recimo juce u 5 i 15, pa bi mozda to moglo da se iskoristi... ali sad ne mogu da provalim pravu sintaxu za to (a nemam vremena da trazim po netu)

spezia 28. 04. 2012. 13:21

Imam sledeci problem.


$timeZone = new DateTimeZone('neka zona recimo');



$Date = new DateTime('31-03-2012 15:45:22');

echo $Date ->format('Y-m-d H:i:s'); // pise gornji datum, OK
echo $Date ->format('U'); // daj unix timpstamp, OK

$callDate->setTimeZone($timeZone); // recimo +5

echo $Date ->format('Y-m-d H:i:s'); // pise gornji datum + 5, OK
echo $Date ->format('U'); // daje isti unix timpstamp,BUG

ako pokusam sa getTimestamp() isto dobijem. Zar nebi trebao i timestamp da se razlikuje.
Mislio sam da uzmem na taj nacin 2 datuma i timestamp prosledim kao argumente, al dzabe kada mi je i drugi timestamp isti ako prvi (ne racuna da je u +5)

Br@nkoR 28. 04. 2012. 14:32

http://en.wikipedia.org/wiki/Unix_time
Citat:

Unix time, or POSIX time, is a system for describing instants in time, defined as the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of Thursday, January 1, 1970 (Unix times are defined, but negative, before that date), not counting leap seconds, which are declared by the International Earth Rotation and Reference Systems Service and are not predictable.


Vreme je GMT +2. Trenutno vreme je 08:11.

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.