Now() Fucntion and CurrentCulture

R

ra294

When I use the Now() Fucntion i my ASP.net application I get a date format
of mm/dd/yy.
I want it to be dd/mm/yy. I set in the web config "culture="en-GB"
uiCulture="en" and also set the regional setting of the computer.
When I am checking "Thread.CurrentThread.CurrentCulture" I can see it's
"en-GB" and the date format is like I want it (dd/mm/yy), but still the
Now() function gives me mm/dd/yy format.
How do I correct this problem ?

Thanks

(e-mail address removed)
 
E

Eirik Eldorsen

I think you have to set CurrentUICulture:
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
 
H

Hans Kesting

ra294 said:
When I use the Now() Fucntion i my ASP.net application I get a date
format of mm/dd/yy.
I want it to be dd/mm/yy. I set in the web config "culture="en-GB"
uiCulture="en" and also set the regional setting of the computer.
When I am checking "Thread.CurrentThread.CurrentCulture" I can see
it's "en-GB" and the date format is like I want it (dd/mm/yy), but
still the Now() function gives me mm/dd/yy format.
How do I correct this problem ?

Thanks

(e-mail address removed)

DateTime.Now doesn't give a "mm/dd/yyyy" string, it gives a DateTime value.
When you do a ToString() on that DateTime value, you might get
a "mm/dd/yyyy" string. The debugger also shows the result of ToString().

You might try setting the CurrentUICulture, but in this particular case
there is another option: use ToString("dd/MM/yyyy") (use capital MM
to get month, lowercase mm returns minutes)

By the way, if you are only interested in the date, you can also use
DateTime.Today.


Hans Kesting
 
F

Franck Quintana

Put this code in Application_BeginRequest event (global.asax)
Normally the ToString() function displays a string based on the current
culture.
So you must change current culture.

Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture
= new CultureInfo("en-GB");


Hope this helps!
Franck Quintana.
 
R

ra294

I tried both setting the CurrentUICulture and also
Now.ToString("dd/MM/yyyy") and I still get mm/dd/yyyy format when using the
Now() function.

Any other ideas ?

(e-mail address removed)
 
H

Hans Kesting

ra294 said:
I tried both setting the CurrentUICulture and also
Now.ToString("dd/MM/yyyy") and I still get mm/dd/yyyy format when
using the Now() function.

Any other ideas ?

*Where* do you get that mm/dd/yyyy format? In the debugger-window?
The Now.ToString("dd/MM/yyyy") returns a formatted string, it doesn't *set*
the format "to use from now on". A following call to Now() returns a new DateTime
value and if you have this converted to string (as vb probably does automatically)
you are really calling the ToString() method with no parameters, so you get
the default US format of mm/dd/yyyy.

Hans Kesting
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,731
Messages
2,569,432
Members
44,832
Latest member
GlennSmall

Latest Threads

Top