neo Posted May 26, 2011 Report Share Posted May 26, 2011 (edited) Sveiki! Nepiecieshams noteikt atikušo laiku ( unix timestamp) no konkreetaa briiza liidz dienas beigaam, respektiivi pl. 0:00 Paldies. Edited May 26, 2011 by neo Quote Link to comment Share on other sites More sharing options...
briedis Posted May 26, 2011 Report Share Posted May 26, 2011 (edited) 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)... Edited May 26, 2011 by briedis Quote Link to comment Share on other sites More sharing options...
neo Posted May 26, 2011 Author Report Share Posted May 26, 2011 (edited) tnxx, elementaari :) Edited May 26, 2011 by neo Quote Link to comment Share on other sites More sharing options...
briedis Posted May 26, 2011 Report Share Posted May 26, 2011 Iemet pēc tam šeit gatavo kodu, lai tie, kas sastapsies ar līdzību problēmu meklētājā uzreiz var atrast risinājumu neveidojot jaunu topiku... Quote Link to comment Share on other sites More sharing options...
mounkuls Posted May 26, 2011 Report Share Posted May 26, 2011 (edited) 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 May 26, 2011 by mounkuls Quote Link to comment Share on other sites More sharing options...
marcis Posted May 27, 2011 Report Share Posted May 27, 2011 @mounkuls date() funkcija ņem vērā laika zonu, kas nozīmē, ka pareizs rezultāts tiks atgriezts tikai pie UTC. Quote Link to comment Share on other sites More sharing options...
mounkuls Posted May 27, 2011 Report Share Posted May 27, 2011 (edited) 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 May 27, 2011 by mounkuls Quote Link to comment Share on other sites More sharing options...
marcis Posted May 28, 2011 Report Share Posted May 28, 2011 (edited) 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 May 28, 2011 by marcis Quote Link to comment Share on other sites More sharing options...
mounkuls Posted May 28, 2011 Report Share Posted May 28, 2011 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:) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.