[Zope] input a date in european style, get it saved as type date (Was: How do I get the first ten characters of a string?)
Andrew Williams
ajwms91@hotmail.com
Fri, 23 Feb 2001 14:51:08 -0500
>I like this fmt thing...
I agree...
>
>I tried a few things.
>
>My actual problem now is:
>
>I've got a form, which returns a date string in the form dd.mm.YYYY via
>REQUEST.
>
>Before this last line I have to change my dd.mm.YYYY into Zope's
>YYYY/mm/dd.
>i. e. s. th. like
>
><dtml-call "REQUEST.set('datum',?????)">
>
>I looked around in the How To's etc. but didn't find anything.
>
>Perhaps you could help me a last time for today.
>
Here are a couple of things:
First, you can tell Zope that a value returned from a form is a specific
type; ie:
<INPUT TYPE="TEXT" NAME="somedate:date">
<INPUT TYPE="TEXT" NAME="someint:int">
Zope gets the request, and automagically casts somedate into a date object,
and someint into an integer. Check out this HowTo regarding Form Variable
Types: http://www.zope.org/Members/Zen/howto/FormVariableTypes
Second, you can also convert a string into a date object by doing the
following:
<dtml-call "REQUEST.set('datevalue',_.DateTime(somedate)">
check out the Zope Quick Reference (ZQR) at http://www.zope.org/Members/ZQR
for more info on the DateTime() function.
One caution, make sure you have validated that the user has inputted a
correct date before doing the above. Otherwise you will get error messages.
Personally, I use javascript to validate date fields *before* the user
submits the form; saves me a lot of headaches.
Hope this helps,
Andrew Williams
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com