I'm smarter than I thought... I figured it out.

It seems the problem with MS Access is that it stores simple times with a
date (probably a requirement of SQL).  The date it stores times with is
1899-12-30.  Unfortunately, from what I gather, Unix timestamps only go back
to 1901... hence PHP has a difficult time handling the SQL return of
1899-12-30 13:00:00...  so, how about simply changing the DATE pate of the
date return?

$schedule = &$connection->Execute("select ClassDate, ClassTime from
tblSchedule where class='$class_name' AND [ClassDate] >= #$today# ORDER BY
[ClassDate] ASC");
        
$class_time = date ("g:i A", strtotime
(ereg_replace('([0-9]*)-([0-9]*)-([0-9]*)','2000-12-31',
$schedule->fields[1])));


if you want to break this down...

//get field from the SQL query
$class_time = $schedule->fields[1];  

//replace date portion with something PHP won't have such a hard time with
$class_time = ereg_replace('([0-9]*)-([0-9]*)-([0-9]*)','2000-12-31',
$class_time );

//run a date function on it to format the time
$class_time = date ("g:i A", strtotime ($class_time));



---------------------
John Asendorf - [EMAIL PROTECTED]
Web Applications Developer
http://www.lcounty.com - NEW FEATURES ADDED DAILY!
Licking County, Ohio, USA
740-349-3631
Nullum magnum ingenium sine mixtura dementiae fuit


> -----Original Message-----
> From: Asendorf, John [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, March 05, 2002 1:39 PM
> To: Php-Windows (E-mail)
> Subject: [PHP-WIN] Displaying a MS Access - Medium time field
> 
> 
> I have a MS Access 2000 database, which has a field whose 
> format is "Medium
> Time" named $class_time.
> 
> The $class_date (Format "Short Date") prints with no problem.
> 
> If I try to take the field from the database (without 
> formatting) and echo
> it, I get "1899-12-30 13:00:00"
> 
> If I try: date ("format", strtotime($class_time)) with the 
> $class_time field
> I get an unexpected error (probably because the date (as you 
> can see above)
> is prior to Dec 13, 1901).
> 
> If I try: date ("format", $class_time) I get 7:31 PM for every entry.
> 
> Any solutions?  This isn't my database, so I'd prefer not to 
> screw with it
> too much if I can help it.  CODE FOLLOWS:
> 
> $class_date = $schedule->fields[0];
> $class_date = date ("l, F j, Y", strtotime ($class_date));
> $class_time = $schedule->fields[1];
> $class_time = date ("g:i A", $class_time ); //<--I have tried 
> this with
> strtotime also to no avail
>       
> echo "<td>$class_date<br />$class_time</td>\n"; //echoes date 
> wonderfully,
> time all messed up 
> 
> 
> 
> 
> ---------------------
> John Asendorf - [EMAIL PROTECTED]
> Web Applications Developer
> http://www.lcounty.com - NEW FEATURES ADDED DAILY!
> Licking County, Ohio, USA
> 740-349-3631
> Nullum magnum ingenium sine mixtura dementiae fuit
> 
> -- 
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 

-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to