Jump to content
php.lv forumi

atlikusais laiks lidz pl 0:00


neo

Recommended Posts

Sekundes līdz dienas beigām:

echo mktime(23,59,59, date("m"), date("d"), date("Y")) - time();

Tālāk elementāra matemātika (psssst - dalīšana ar atlikumu)...

Var pat bez matemātikas

echo date("H:i:s",(mktime(23,59,59, date("m"), date("d"), date("Y")) - time()));

Edited by mounkuls
Link to comment
Share on other sites

To nemaz nebiju piefiksējis:)

Bet kas traucē pirms tādām lietām localtime uzsetot?:)

Jo tā reāli, cik nu atceros, date() strādā kā ar unixtime, tur nekādu timezone nevar būt.

Un labi zinu, ka date("H:i:s",3600) man tā arī atgriezīs 01:00:00, jo pofig gads un datums.

Pieņemu, ka tas nācis klāt PHP5, jo vēl PHP4.3 man par to galva toč nesāpēja.

Edited by mounkuls
Link to comment
Share on other sites

Nē, tas tā ir bijis un būs vienmēr. date() nav matemātiska funkcija. Atšķirība ir tāda, ka dažādās laika zonās timestamp sākums (tātad 0) tiek nobīdīts par attiecīgajām stundām. UTC timestamp 0 būs 1970-01-01 00:00:00, bet Latvijā GMT+2 timestamp 0 būs 1970-01-01 02:00:00 un visas sekundes tiek skaitītas klāt šim laikam.

 

date_default_timezone_set('Europe/Riga'); // GMT+2 vai GMT+3 (vasaras laiks) - serveriem Latvijā šim vajadzētu būt by default
date("H:i:s", 0); // 02:00:00 vai 03:00:00 (pēc vasaras laika)
date("H:i:s", 3600); // 03:00:00 vai 04:00:00 (pēc vasaras laika)
date_default_timezone_set('UTC');
date("H:i:s", 0); // 00:00:00
date("H:i:s", 3600); // 01:00:00

Ja atmiņa neviļ, tad līdzīgas diskusijas jau ir bijušas.

Edited by marcis
Link to comment
Share on other sites

Labi, lai jau tā būtu.

Bet kā jau rakstīju, problēma uzsetot savu timezone nav.

Vienkārši es ar to esmu darbojies jau pasen, nav man php programmētāja specilitāte, tāpēc neiespringstu tādās lietās regulāri.

Man tāds vaļasrieks tas drīzāk ir:)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...