[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

ParseDate in local format...

Josselin

7/25/2006 3:18:00 PM

when a user choose a date from my datepicker calendar, an european
local startdate is displayed in the text field : 30/7/2006, fine !

As I must add 10 days to this starting date to 'ajax-modify' the ending date,
I wrote the following method :

def startdateChanged
v = ParseDate::parsedate(@params["startdate"]) #=>
[2006, 30, 7, nil, nil, nil, nil, nil]
t = Time.local(v.compact*",") #=> Sun Jan 01
00:00:00 CET 2006 which is wrong
@enddate = (t+(84600*10)).strftime("%d/%m/%Y")
render(:partial => "enddate")
end

the Time.local() is expected [2006, 7, 30, nil, nil, nil, nil, nil]

is there any way to parse the date according to a 'locale' (fr_FR in
this case)

thanks

joss

2 Answers

Bojan Mihelac

7/25/2006 4:27:00 PM

0

Josselin wrote:
> when a user choose a date from my datepicker calendar, an european local
> startdate is displayed in the text field : 30/7/2006, fine !
>
> As I must add 10 days to this starting date to 'ajax-modify' the
> ending date,
> I wrote the following method :
>
> def startdateChanged
> v = ParseDate::parsedate(@params["startdate"]) #=>
> [2006, 30, 7, nil, nil, nil, nil, nil]
> t = Time.local(v.compact*",") #=> Sun Jan 01
> 00:00:00 CET 2006 which is wrong
> @enddate = (t+(84600*10)).strftime("%d/%m/%Y")
> render(:partial => "enddate")
> end
>
> the Time.local() is expected [2006, 7, 30, nil, nil, nil, nil, nil]
>
> is there any way to parse the date according to a 'locale' (fr_FR in
> this case)
>
> thanks
>
> joss
>
>
>
>
>
Here is how I do it to parse mm.dd.yyyy. dates:

require ('parsedate')
module ParseDate
class << self
alias_method :old_parsedate, :parsedate unless
method_defined?(:old_parsedate)
end

def self.parsedate(str)
match = /(\d{1,2})\.(\d{1,2})\.(\d{2,4})\.?/.match(str)
return ParseDate.old_parsedate(str) unless match
[match[3].to_i, match[2].to_i, match[1].to_i, nil, nil, nil, nil, nil]
end
end

Bojan

--
Bojan Mihelac
Informatika Mihelac, Bojan Mihelac s.p. | www.informatikamihelac.com
-> tools, scripts, tricks from our code lab: http://source.m...

Josselin

7/26/2006 5:55:00 AM

0

On 2006-07-25 18:26:52 +0200, Bojan Mihelac <lists@mihelac.org> said:

> Here is how I do it to parse mm.dd.yyyy. dates:
>
> require ('parsedate')
> module ParseDate
> class << self
> alias_method :old_parsedate, :parsedate unless
> method_defined?(:old_parsedate)
> end
>
> def self.parsedate(str)
> match = /(\d{1,2})\.(\d{1,2})\.(\d{2,4})\.?/.match(str)
> return ParseDate.old_parsedate(str) unless match
> [match[3].to_i, match[2].to_i, match[1].to_i, nil, nil, nil, nil, nil]
> end
> end

thanks a lot...
as always .....one vision of the world = one vision of the time = one
vision of the date