Richard Fox wrote:
> This question relates to both mysql in general and the mysql++ C++ API in
>particular, thus the adressing to both lists.
>
> I have a DateTime object (really a formatted string) say "2002-07-10 11:38:38". I
>want to subtract some variable number of hours (from 0 to 11) from it. How do I
>accomplish this in an elegant manner?
>
> There is quite a bit of logic to handle all the cases where subtracting hours takes
>the date one day back, which can take the month one month back, which can take the
>year one year back! And of couse all the months have different lengths so this can be
>some ugly code. I can do this the hard way, but I was wondering if anyone already has
>a nice solution.
>
Are you going to be doing this often (e.g., dateroll conventions,
holiday/weekend avoidance). If so, your object should be smarter than
just keeping the string. E.g., it might want to have a notion of the
julian date, time in UTC, etc., etc.
Convert the date to struct tm, call mktime(). You now have number of
seconds since the epoch of 1970. Subtract x-hours * 60 minutes * 60
seconds. Convert back to a struct tm, and fire off strftime.
Real cheap: make MySql dope it out, and take the network hit,
SELECT "2002-07-10 11:38:38" - INTERVAL 11 HOUR;
--
____ .:. ____
Bryan W. Headley - [EMAIL PROTECTED]
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php