Jump to content
php.lv forumi

Recommended Posts

Posted

Formā izmantoju Now() funkciju, datu bāzē ir Datetime

Problēma tajā, ka serveris atrodas USA un līdz ar to arī datumu ar stundām un minūtēm izmet attiecīgi, kāds šobrīd ir USA.

Kas pa kodu kurā vietā ir jāpievieto, lai datu bāzē ievietotos Latvijas laiks, nevis servera laiks - kad formā nospiests submit?

Posted (edited)

nus, a kur problēmā piešķirt SQL-ā `latvisko laiku` ?

 

$curTime = date('YYYY-mm-dd HH:MM:ss',time() -/+ ... ); // ieliec kadu vajag

insert into bla(laiks) values(\''.$curTime.'\');

 

a vispār ir labāk, glabā tā kā ir uz servera (Unix timestamp) un pie outputa izvadi vajadzīgo laiku pēc timezones

 

date( 'formāts', $laiksNoDB + $currentTimeZone );

Edited by Delfins
Posted

vislabāk laikam ir gmt laiku glabāt un pie rādīšanas likt klāt timezones offsetu- atvedīsis serveri uz latviju, neko vairs nesapratisi, kas ir ar asv, kas ar latvijas laika zonas laiku saglabāts.

Posted

nu tāpēc jau datubāzē neko nedrīkst mainīt, lai liek iekšā kā līdz šim...

Offsets nav jāliek, tas ir katram lietotājam individuāli... un reāls laiks ir vienmēr izrēķināms

Posted
nus, a kur problēmā piešķirt SQL-ā `latvisko laiku` ?

 

$curTime = date('YYYY-mm-dd HH:MM:ss',time() -/+ ... ); // ieliec kadu vajag

insert into bla(laiks) values(\''.$curTime.'\');

 

a vispār ir labāk, glabā tā kā ir uz servera (Unix timestamp) un pie outputa izvadi vajadzīgo laiku pēc timezones

 

date( 'formāts', $laiksNoDB + $currentTimeZone );

 

Man tas pirmais variants laikam ir piemērotāks, jo tas laiks ir svarīgs tieši tuvākajā dienā, lai es cilvēkam varētu laicīgi atbildēt (piemēram, 24h laikā pēc info saņēmšanas).

 

Tā aizdomājos, ja šobrīd skatos db kas man tur ienācis, tad arī ir ņemšanās ar tām 8 stundām, bet tiko kā ielikšu skriptiņu, lai sūtās man uz konkrētu epastu, tā vismaz redzamā daļa atrisināsies (jo parādās jau, kad vēstule ir saņemta).

 

P.S.

Kaut kas man tur nesanāk ar to mīnusošanu.

a tur iekš tā time() nevajag norādīt ko es gribu mīnusot?

Posted
echo date('Y-m-d H:i:s',strtotime('-8 hours'));

 

 

ideāli, cik patīkami ieraudzīt pareizo laiku (pat izrādījās, ka jāpieliek nevis jāatņem 8stundas :) )

 

Paldies v3rb0 un Delfins par palīdzību šajā jautājumā!

Posted
pastudē GMT laiku un zonas, nav svarīgi, kurš laiks tev ir iekš DB, svarīgi ir tas, ka iekš DB ir vienas zonas laiks..

 

http://en.wikipedia.org/wiki/Greenwich_Mean_Time

 

Tā lietiņa jau ir skaidra, ka laiks ierakstās pēc GMT laika zonas un ja man serveris ir asv noteiktā daļā tad attiecīgi GMT +5 vai citā, ja latvijā tad GMT-2

 

Bet paldies par adresi, Labs resurss!

 

P.S.

Greenwich - laba vieta kur nofotografēties :D

×
×
  • Create New...