Jump to content
php.lv forumi

darbības ar laiku un datumiem


Chapman

Recommended Posts

ir tā, ka DB man datums ir saglabāts šādi: 2010.12.01. 0:00:00

"Izvelkot" to no DB šādi:

reg_date = mssql_query("Use SecKeyPrior Select * FROM S_Users Where Id = '$id'");
     $reg_date = mssql_fetch_assoc($reg_date);
     $reg_date = $reg_date['Reg_Date'];

Es dabonu rezultātā šo: Dec 1 2010 12:00AM

kāpēc tā?

un kā lai pārbaudu, salīdzinot current_time ar Reg_date, vai ir pagājušas 30 dienas?

Link to comment
Share on other sites

nu labi, ir itkā skaidrs, kas tas ir un kā darbojas, bet kā salīdzināt?

<?php
 $unixtime = time();
 echo "unixtime: " . $unixtime . "<br />";
 echo "formatted: " . date("F j, Y, g:i a",$unixtime) . "<p />";
 $settime = "1104537600";
 echo "settime: " . $settime . "<br />";
 $rtr = $unixtime-$settime;
 echo $rtr;
 echo "formatted: " . date("F j, Y, g:i a",$settime) . "<p />";
 echo "1 minus 2: " . date("F j, Y, g:i a",$rtr) . "<p />";
 ?>

reku piemērs, kuru izraku, un pacentos arī atnemt no laiku no otra, pagaidān rezultātu naw :(

Edited by Chapman
Link to comment
Share on other sites

ir tā, ka DB man datums ir saglabāts šādi: 2010.12.01. 0:00:00

Murgs :(

DB dtuma/laika glabasanai jaizmanto viens no formatiem

1. dateTime( date time) datu tips

2. UnixTimestamp dtu tips

Katram ir savas prieksrocibas & minusi

--

Tad briivi varesi noformateet datumu un laiku ar pasha SQL iebuvetajiem lidzekljiem VAI php pusee.

PHP parasti izmanto ja vajag kautkaadu uber krutu formatejumu ( kutkadi mistiski tagi pvidu utt..), vi LV(Etc vlodu menesha nosaukumiem )

--

Edited by Grey_Wolf
Link to comment
Share on other sites

Šitam ir vairāk mīnusu, neka plusu, salīdzinājumā ar diezgan caurspīdīgu timestamp.

Mulkjibas ...

DateTime ir tieshi preteji vairak plusi nekaa minusi ..

1. SQL iebuvetas funkcias izpildisies atrak nekaa ar timestamp, jo tiek izlaists viens konvertesnas posms)

2. nav datuma ierobezojumi, pretstataa timestamp (1970/01.01 00:00:01 )

gribetu redzet kaa saglabasi cilveka vecumu kas buus dzimis 1969 gda 31 decembrii -> ljoti liels % ka buus kljuda

3. Timestamp nav VIZUALI uztverams, tas ir ja vajadzes atrast 'ar rocinjam' atrast kadu konkretu dtumu, tad chau...

4. Ar sql lidzekljiem vr daudzvienkarsak atrast konkreto laika spriidi ( datumu)

Pretstataa Timestam, kur sakuma naksies izrekjinat cik tad nu sek ir pagajusas..

Piedevam ja laiks nepieciesams Precizi no datuma sakuma/beigam tad ar Timestamp nekas nesanaks ( 1 sek. nobiide)

 

Neba velti SQL izstradats shis datu glabasanas formats

--

Tiemstamp arii protams ir savi plusi.

1. Aiznjem mazak vietas ( nu ja cinja par baitiem ), un arii stipri nosaciti..

2. Ja jsalidzina kads neliels laika posms ( teiksim cik minutes/stundas/dienas pagajushas), tad timestamp buus prieksrocibas

3. Ja jasaglaba, LAIKA zimogs , tas ir teiksim registracijas datums (pedejas izmanjas etc..)

 

P.S. un gligi nesapratu 'Caurspidiigu', ja tev izrekjinat sekundes ir vienkarsak, nekaa nolasiit datumu, tad nu sor..

Link to comment
Share on other sites

2. nav datuma ierobezojumi, pretstataa timestamp (1970/01.01 00:00:01 )

 

Nez, es glabāju timestampā laiku, un datums pirms 1970 glabājas kā negatīvs skaitlis :) .. bet ar >2038 gan būs problēmas (ja int's)

Link to comment
Share on other sites

teikšu godīgi, man vienalga kurš datu tips! man tik vajag pateikt, vai ir pagājušas 30 dienas kops lietotāja izveides, kur lietotāju izveidojot DB tiek ierakstīts datums!

Link to comment
Share on other sites

bet ar >2038 gan būs problēmas (ja int's)

 

Tieši kāpēc?? (nav domāts kā: Es zinu labāk!, bet gan kā: Kāpēc?)

 

$years = 68; // 2038 - 1970

$time = 60 * 60 * 24 * 30 * 12 * $years;

echo $time;

Edited by daGrevis
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...