Date/Time Quick Add


#1

I am building a small app that reuires some clever text pattern
matching…

In my controller, I’ll have a string that I will want to parse out to a
datetime and a message, a la Google C. Quick Add.

Examples:

10/30/2006 7pm message
10-30-96 7:00 pm message
10/30/2006 19:00pm message

You see what I’m getting at. For a v1.0 release, I CAN publish some
standards for users to adhere to regarding how the string should look,
but I’m wondering how some more experienced programmers might attack
this problem, from a high level view. What do you initially look for,
what do you delimit on, how do you break the string up, etc.

Would love some feedback, many thanks in advance!

-stirman


#2

Have a look at my validates_date_time plugin

http://svn.viney.net.nz/things/rails/plugins/validates_date_time

-Jonathan.


#3

Jeepers, that’s pretty nice.

Have you looked at DateboxEngine?

http://rails-engines.org/wiki/pages/DateboxEngine

It only handles dates, not times, and does it in Javascript… but you
might want to investigate some of the patterns it recognizes, like “next
tuesday”, “last monday” and month and date with an implicit year.

Jonathan V. wrote:

Have a look at my validates_date_time plugin

http://svn.viney.net.nz/things/rails/plugins/validates_date_time

-Jonathan.


#4

Wow, great plugin…

Today I’ll be sorting through the code to see how I can apply it to my
app.

As I learn what you did, I’ll see about writing a patch to include some
of the above-mentioned functionality.

Many thanks, great work.

-stirman
www.stirman.net


#5

I’ve found that most users don’t want to type ‘today’, and as I
usually give them a date picker widget they’re pretty happy to just
use that.

I wouldn’t be adverse to adding support to parse more english-like
dates such as ‘today’, ‘last tuesday’ etc…, feel free to write a
patch if you want.

Parsing with an implicit year is a good idea, I may add that at some
stage. Again, patches welcome :).

Cheers, Jonathan.