|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
I am having a date time comparison issue.
I have statically set the values here. But the data is fed from the database, CaldTime is timestamp and since it will not allow me to have 2 timestamps in the same table I set the CallEnd varchar(12). Storing the data they seem to be the same for output. I checked hexadecimal and binary to look for obscurities. $sqldata['CaldTime'] = "2008-04-07 11:15:32"; $sqldata['CallEnd'] = "2008-04-07 11:17:17"; $time1 = strtotime("$sqldata[CaldTime]"); $time2 = strtotime("$sqldata[CallEnd]"); $interval = $time2 - $time1; echo $interval; ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ Displays like 1.75:0 I am looking for a more precise time like 1:45 instead. Am I looking at this all wrong for time difference? Richard L. Buskirk Sorry my murloc got pawned in AV, and ever since I cant think right! |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
On Mon, Apr 7, 2008 at 9:42 AM, <admin@buskirkgraphics.com> wrote:
> I am having a date time comparison issue. > I have statically set the values here. But the data is fed from the > database, CaldTime is timestamp and since it will not allow me to have 2 > timestamps in the same table I set the CallEnd varchar(12). Storing the data > they seem to be the same for output. I checked hexadecimal and binary to > look for obscurities. > > > $sqldata['CaldTime'] = "2008-04-07 11:15:32"; > $sqldata['CallEnd'] = "2008-04-07 11:17:17"; > > $time1 = strtotime("$sqldata[CaldTime]"); > $time2 = strtotime("$sqldata[CallEnd]"); > $interval = $time2 - $time1; > > echo $interval; > > ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ > Displays like 1.75:0 > I am looking for a more precise time like 1:45 instead. > Am I looking at this all wrong for time difference? hmm. different results for me w/ this code <?php $time1 = strtotime('2008-04-07 11:15:32'); $time2 = strtotime('2008-04-07 11:17:17'); echo "time1: $time1" . PHP_EOL; echo "time2: $time2" . PHP_EOL; $interval = $time2 - $time1; echo $interval . PHP_EOL; ?> time1: 1207588532 time2: 1207588637 105 -nathan |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
On Mon, Apr 7, 2008 at 11:42 AM, <admin@buskirkgraphics.com> wrote:
>t the data is fed from the database, CaldTime is timestamp and since it will not allow me to have 2 timestamps in > the same table ?? What database are you using? It sounds like it has a specific meaning of "timestamp" - probably "the last time this row was modified" - and you want an arbitrary date column, which would probably be a different column type. Not a string, though. An actual date type. possible names are date, datetime, datestamp... , and you I set the CallEnd varchar(12). Storing the data they seem to be the same for output. I checked hexadecimal and binary to look for obscurities. > > > $sqldata['CaldTime'] = "2008-04-07 11:15:32"; > $sqldata['CallEnd'] = "2008-04-07 11:17:17"; > > $time1 = strtotime("$sqldata[CaldTime]"); > $time2 = strtotime("$sqldata[CallEnd]"); > $interval = $time2 - $time1; > > echo $interval; > > ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ > Displays like 1.75:0 > I am looking for a more precise time like 1:45 instead. > Am I looking at this all wrong for time difference? strtotime returns an integer number of seconds. The difference between $time1 and $time2 is 105. If you want minutes and seconds, you have to do the math yourself. $interval_min = floor($interval/60); $interval_sec = $interval % 60; echo "$interval_min:$interval_sec"; -- Mark J. Reed <markjreed@mail.com> |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
On Mon, Apr 7, 2008 at 11:42 AM, <admin@buskirkgraphics.com> wrote:
> I am having a date time comparison issue. > I have statically set the values here. But the data is fed from the database, CaldTime is timestamp and since it will not allow me to have 2 timestamps in the same table I set the CallEnd varchar(12). Storing the data they seem to be the same for output. I checked hexadecimal and binary to look for obscurities. > > > $sqldata['CaldTime'] = "2008-04-07 11:15:32"; > $sqldata['CallEnd'] = "2008-04-07 11:17:17"; > > $time1 = strtotime("$sqldata[CaldTime]"); > $time2 = strtotime("$sqldata[CallEnd]"); > $interval = $time2 - $time1; > > echo $interval; > > ++++++++++++++++++++++++++++++++++++++++++++++++++ +++++ > Displays like 1.75:0 > I am looking for a more precise time like 1:45 instead. > Am I looking at this all wrong for time difference? > > Richard L. Buskirk > Sorry my murloc got pawned in AV, and ever since I cant think right! > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > This could be simplified to a function, but using some basic math.... <?php $sqldata['CaldTime'] = "2008-04-07 11:15:32"; $sqldata['CallEnd'] = "2008-04-07 11:17:17"; $converted = explode('.',((strtotime($sqldata['CallEnd']) - strtotime($sqldata['CaldTime'])) / 60)); $converted[1] = (($converted[1] / 6) * 3.6); echo implode(':',$converted)."\n"; ?> -- </Daniel P. Brown> Ask me about: Dedicated servers starting @ $59.99/mo., VPS starting @ $19.99/mo., and shared hosting starting @ $2.50/mo. Unmanaged, managed, and fully-managed! |
|
![]() |
| Outils de la discussion | |
|
|