Re: [PHP] Output yyyymmdd formatted date || 20030131 to FridayJanuary 31, 2003
Very nice John. I'm quickly learning the utility of MySql Date and Time objects. I used to have to write a ten line script to format the date; now, I can use this: SELECT DATE_FORMAT(mydate, '%a %M %d, %Y') and I'm done. Thanks a bunch for your help, John. I might even write an effiicient application in this lifetime. --Noah John W. Holmes [EMAIL PROTECTED] wrote in message 000201c2cfd8$dcc2e180$7c02a8c0@coconut">news:000201c2cfd8$dcc2e180$7c02a8c0@coconut... SELECT * FROM table WHERE date BETWEEN 20030201 AND 20030201 + INTERVAL 7 DAY I assume '20030201' will come from PHP eventually, right, or the current date? For any record between now and 7 days from now: SELECT * FROM table WHERE date BETWEEN CURDATE() AND CURDATE() + INTERVAL 7 DAY For a date from PHP, $date = '20030201'; SELECT * FROM table WHERE date BETWEEN $date AND $date + INTERVAL 7 DAY ---John W. Holmes... PHP Architect - A monthly magazine for PHP Professionals. Get your copy today. http://www.phparch.com/ -Original Message- From: Noah [mailto:[EMAIL PROTECTED]] Sent: Saturday, February 08, 2003 10:20 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Re: [PHP] Output yyyymmdd formatted date || 20030131 to FridayJanuary 31, 2003 Right. I've switched the date column from type INT to type DATE in our MySql db. The problem I've had with retrieving records in a certain date range with: SELECT * FROM table WHERE yourdate BETWEEN 20030201 AND 20030207 is getting the latter part of the expression; i.e. in this case 20030207 to be seven days older than the first part. This is where I need to use MySql's DATE_ADD, and other date manipulation functions.. Lots to learn; little time to do it. Thanks for feedback, John. --Noah - Original Message - From: John W. Holmes [EMAIL PROTECTED] To: 'Noah' [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Saturday, February 08, 2003 3:31 PM Subject: RE: [PHP] Output yyyymmdd formatted date || 20030131 to FridayJanuary 31, 2003 The dates are stored in a MySql db. I checked out the MySql DATE_FORMAT function -- pretty cool. However, pardon my ignorance here, how can I do date comparisons? For example, if I want to retrieve records from the db where the date is between say, 2003-02-01 and 2003-02-07, will MySql be able to compare the strings? I stored my dates as integer fields to do such a comparison, but it looks like I need to graduate to MySql date time functions.. If you've done it correctly and stored your dates in a MySQL DATE, DATETIME, or TIMESTAMP column, then you can do something like this: SELECT * FROM table WHERE yourdate BETWEEN 20030201 AND 20030207 If you're storing them in an INT column, then change it over to one of the above. Go back to the manual and read about date_sub() and date_add() in MySQL for further date manipulation... ---John W. Holmes... PHP Architect - A monthly magazine for PHP Professionals. Get your copy today. http://www.phparch.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Output yyyymmdd formatted date || 20030131 to FridayJanuary 31, 2003
the real question here is are you storing your dates in a file or database. If in a database (say MySQL), you can use the native DATE_FORMAT function of MySQL to pull the date out in the proper format. Otherwise, have a look at http://www.php.net/date Quoting CF High [EMAIL PROTECTED]: Sorry for the frequent simple posts... I've been storing my dates in mmdd format (apparently this is a bad idea). In any case, I need to display this date format as [day name month name day #, year] e.g. Friday January 31, 2003. Any ideas? Thanks for any leads, --Noah -- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php === Michael Geier CDM Sports, Inc. Systems Administration email: [EMAIL PROTECTED] phone: 314.692.3540 --- This email sent using CDM Sports Webmail v3.1 [ http://webmail.cdmsports.com ] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Output yyyymmdd formatted date || 20030131 to FridayJanuary 31, 2003
Hey Michael. The dates are stored in a MySql db. I checked out the MySql DATE_FORMAT function -- pretty cool. However, pardon my ignorance here, how can I do date comparisons? For example, if I want to retrieve records from the db where the date is between say, 2003-02-01 and 2003-02-07, will MySql be able to compare the strings? I stored my dates as integer fields to do such a comparison, but it looks like I need to graduate to MySql date time functions.. --Noah - Original Message - From: Michael Geier [EMAIL PROTECTED] To: CF High [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Saturday, February 08, 2003 1:31 PM Subject: Re: [PHP] Output mmdd formatted date || 20030131 to FridayJanuary 31, 2003 the real question here is are you storing your dates in a file or database. If in a database (say MySQL), you can use the native DATE_FORMAT function of MySQL to pull the date out in the proper format. Otherwise, have a look at http://www.php.net/date Quoting CF High [EMAIL PROTECTED]: Sorry for the frequent simple posts... I've been storing my dates in mmdd format (apparently this is a bad idea). In any case, I need to display this date format as [day name month name day #, year] e.g. Friday January 31, 2003. Any ideas? Thanks for any leads, --Noah -- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php === Michael Geier CDM Sports, Inc. Systems Administration email: [EMAIL PROTECTED] phone: 314.692.3540 --- This email sent using CDM Sports Webmail v3.1 [ http://webmail.cdmsports.com ] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Output yyyymmdd formatted date || 20030131 to FridayJanuary 31, 2003
The dates are stored in a MySql db. I checked out the MySql DATE_FORMAT function -- pretty cool. However, pardon my ignorance here, how can I do date comparisons? For example, if I want to retrieve records from the db where the date is between say, 2003-02-01 and 2003-02-07, will MySql be able to compare the strings? I stored my dates as integer fields to do such a comparison, but it looks like I need to graduate to MySql date time functions.. If you've done it correctly and stored your dates in a MySQL DATE, DATETIME, or TIMESTAMP column, then you can do something like this: SELECT * FROM table WHERE yourdate BETWEEN 20030201 AND 20030207 If you're storing them in an INT column, then change it over to one of the above. Go back to the manual and read about date_sub() and date_add() in MySQL for further date manipulation... ---John W. Holmes... PHP Architect - A monthly magazine for PHP Professionals. Get your copy today. http://www.phparch.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Output yyyymmdd formatted date || 20030131 to FridayJanuary 31, 2003
Right. I've switched the date column from type INT to type DATE in our MySql db. The problem I've had with retrieving records in a certain date range with: SELECT * FROM table WHERE yourdate BETWEEN 20030201 AND 20030207 is getting the latter part of the expression; i.e. in this case 20030207 to be seven days older than the first part. This is where I need to use MySql's DATE_ADD, and other date manipulation functions.. Lots to learn; little time to do it. Thanks for feedback, John. --Noah - Original Message - From: John W. Holmes [EMAIL PROTECTED] To: 'Noah' [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Saturday, February 08, 2003 3:31 PM Subject: RE: [PHP] Output mmdd formatted date || 20030131 to FridayJanuary 31, 2003 The dates are stored in a MySql db. I checked out the MySql DATE_FORMAT function -- pretty cool. However, pardon my ignorance here, how can I do date comparisons? For example, if I want to retrieve records from the db where the date is between say, 2003-02-01 and 2003-02-07, will MySql be able to compare the strings? I stored my dates as integer fields to do such a comparison, but it looks like I need to graduate to MySql date time functions.. If you've done it correctly and stored your dates in a MySQL DATE, DATETIME, or TIMESTAMP column, then you can do something like this: SELECT * FROM table WHERE yourdate BETWEEN 20030201 AND 20030207 If you're storing them in an INT column, then change it over to one of the above. Go back to the manual and read about date_sub() and date_add() in MySQL for further date manipulation... ---John W. Holmes... PHP Architect - A monthly magazine for PHP Professionals. Get your copy today. http://www.phparch.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Output yyyymmdd formatted date || 20030131 to FridayJanuary 31, 2003
SELECT * FROM table WHERE date BETWEEN 20030201 AND 20030201 + INTERVAL 7 DAY I assume '20030201' will come from PHP eventually, right, or the current date? For any record between now and 7 days from now: SELECT * FROM table WHERE date BETWEEN CURDATE() AND CURDATE() + INTERVAL 7 DAY For a date from PHP, $date = '20030201'; SELECT * FROM table WHERE date BETWEEN $date AND $date + INTERVAL 7 DAY ---John W. Holmes... PHP Architect - A monthly magazine for PHP Professionals. Get your copy today. http://www.phparch.com/ -Original Message- From: Noah [mailto:[EMAIL PROTECTED]] Sent: Saturday, February 08, 2003 10:20 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Re: [PHP] Output mmdd formatted date || 20030131 to FridayJanuary 31, 2003 Right. I've switched the date column from type INT to type DATE in our MySql db. The problem I've had with retrieving records in a certain date range with: SELECT * FROM table WHERE yourdate BETWEEN 20030201 AND 20030207 is getting the latter part of the expression; i.e. in this case 20030207 to be seven days older than the first part. This is where I need to use MySql's DATE_ADD, and other date manipulation functions.. Lots to learn; little time to do it. Thanks for feedback, John. --Noah - Original Message - From: John W. Holmes [EMAIL PROTECTED] To: 'Noah' [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Saturday, February 08, 2003 3:31 PM Subject: RE: [PHP] Output mmdd formatted date || 20030131 to FridayJanuary 31, 2003 The dates are stored in a MySql db. I checked out the MySql DATE_FORMAT function -- pretty cool. However, pardon my ignorance here, how can I do date comparisons? For example, if I want to retrieve records from the db where the date is between say, 2003-02-01 and 2003-02-07, will MySql be able to compare the strings? I stored my dates as integer fields to do such a comparison, but it looks like I need to graduate to MySql date time functions.. If you've done it correctly and stored your dates in a MySQL DATE, DATETIME, or TIMESTAMP column, then you can do something like this: SELECT * FROM table WHERE yourdate BETWEEN 20030201 AND 20030207 If you're storing them in an INT column, then change it over to one of the above. Go back to the manual and read about date_sub() and date_add() in MySQL for further date manipulation... ---John W. Holmes... PHP Architect - A monthly magazine for PHP Professionals. Get your copy today. http://www.phparch.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php