Brian,

Just my 2 cents :)

I always try to use an epoch time stamp for anything time related.  its
easier to compare times and all the functions are built into mysql to
convert to/from a unix epoch timestamp

select unix_timestamp(NOW());
+-----------------------+
| unix_timestamp(NOW()) |
+-----------------------+
|            1148492137 |


select from_unixtime(1148492137);
+---------------------------+
| from_unixtime(1148492137) |
+---------------------------+
| 2006-05-24 13:35:37       |


Need the number of minutes between 2 epoch timestamp? subtract and
divide by 60.

select (unix_timestamp(NOW()) - 1148492137)/60;
+-----------------------------------------+
| (unix_timestamp(NOW()) - 1148492137)/60 |
+-----------------------------------------+
|                                    2.32 |



George Law

> -----Original Message-----
> From: Brian Menke [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, May 24, 2006 12:51 PM
> To: mysql@lists.mysql.com
> Subject: Fun with Dates and Incentives.
> 
> I'm hoping for some general advice on an approach for the following
> scenario:
> 
> 
> 
> I have a customer who wants to put an incentive program in place for
> students taking learning modules and then completing tests. The
concept is
> simple. Award the first 10 people who complete a test with a score of
> 100%... that type of thing. Students are allowed to take test more
than
> once. Track each time the student takes the test and show the latest
score
> ect. You get the idea. I have the database tables and relationships
> already
> all set up for the tests, but it's the tracking of the dates and times
> that
> I don't have and it got me thinking.
> 
> 
> 
> I need to track down to the day/hour/minute level. Okay, that should
be
> easy
> (I think). I'm going to need to do a lot of date/time calculations.
Would
> it
> be best just to have a default of CURRENT_TIMESTAMP set for a
TIMESTAMP
> field? Or, is their something else I should be using? I have limited
> experience having to munge and crunch date/time info and I want to
make
> sure
> I have the flexibility to do what I need in the future.
> 
> 
> 
> The next gotcha I thought up is what about different time zones.
Obviously
> without this consideration, people on the East coast would have an
unfair
> 3
> hour advantage over people on the west coast. I guess I can have a
time
> zone
> field in my student table so I could derive the time difference. Any
> suggestions on a good time zone approach?
> 
> 
> 
> Here are my two tables as they stand now. I'm wondering if these are
set
> up
> in a way to allow me to do all this date time crunching I'm going to
need
> to
> do in the future? Any suggestions are greatly appreciated :-)
> 
> 
> 
> 
> 
> CREATE TABLE `students` (
> 
>   `store_id` varchar(6) NOT NULL,
> 
>   `email` varchar(64) NOT NULL,
> 
>   `fname` varchar(32) NOT NULL,
> 
>   `lname` varchar(32) NOT NULL,
> 
>   `role` char(2) NOT NULL default '5',
> 
>   `password` varchar(8) NOT NULL,
> 
>   `phone` varchar(24) default NULL,
> 
>   `reg_date` date default NULL,
> 
>   PRIMARY KEY  (`email`),
> 
>   UNIQUE KEY `email` (`email`)
> 
> ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
> 
> 
> 
> CREATE TABLE `completed_modules` (
> 
>   `module_id` char(2) NOT NULL default '',
> 
>   `email` varchar(64) NOT NULL,
> 
>   `score` int(2) NOT NULL default '0',
> 
>   `time` timestamp NOT NULL default CURRENT_TIMESTAMP
> 
> ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
> 
> 
> 
> Brian Menke
> 
> Visual Matter, Inc
> 
> 1445 Foxworthy Ave., Suite 50-215
> 
> San Jose, CA 95118
> 
> 408 375 9969
> 
> 
> 
> San Jose ~ Los Angeles
> www.visualmatter.com
> 
> 


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to