Now() Fucntion and CurrentCulture

  • Thread starter Thread starter ra294
  • Start date Start date
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)
 
I think you have to set CurrentUICulture:
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
 
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
 
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.
 
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)
 
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
 
Back
Top