Using american dates by default

T

thechaosengine

Hi guys,

I'm developing a web app on a UK computer. When I put a date into a textbox,
its in the format DD/MM/YY. The DateTime object takes that in and handles
in perfectly.

Now, I need to start using the american format MM/DD/YY.

My question is, how do I get the DateTime object to recognise what I'm passing
in as an American date? If the machine is installed on an american server,
will it immediately expect the dates as american? Or do I need to do something
else?

Many thanks

Simo
 
J

Jon Skeet [C# MVP]

thechaosengine said:
I'm developing a web app on a UK computer. When I put a date into a textbox,
its in the format DD/MM/YY. The DateTime object takes that in and handles
in perfectly.

Now, I need to start using the american format MM/DD/YY.

My question is, how do I get the DateTime object to recognise what I'm passing
in as an American date? If the machine is installed on an american server,
will it immediately expect the dates as american? Or do I need to do something
else?

You can tell DateTime.Parse which CultureInfo to use. If you don't
specify anything, it uses the CultureInfo for the current thread.

Jon
 
T

Tarun Mistry

You can tell DateTime.Parse which CultureInfo to use. If you don't
specify anything, it uses the CultureInfo for the current thread.

Jon

Sorry to hijack slightly, however how do you instruct SQL server to save
dates in UK format?

The DateTime class again maintains my uk date however SQL writes it out in
america format, any clues ideas?

Thanks,
Taz
 
T

thechaosengine

Hello Jon Skeet [C# MVP],

OK, thats cool.

Now, just one last thing. Would I be right in thinking that if the code is
running on an american server, it will default to the american way of doing
dates?

I'm pretty sure it should...

Thanks

Simon
 
J

Juan T. Llibre

re:
The DateTime class again maintains my uk date however SQL writes it out in america format, any
clues ideas?

If you want dates to be displayed using uk format, set "culture" and "uiCulture",
in the globalization section of web.config, to "en-GB".

Anything you display in ASP.NET pages from that point on,
will be displayed using UK date and currency formats.

<globalization culture="en-GB" uiCulture="en-GB" />
 
M

Mark Rae

Sorry to hijack slightly, however how do you instruct SQL server to save
dates in UK format?

SQL Server doesn't store dates in any particular format as such - they are
simply numbers.
The DateTime class again maintains my uk date however SQL writes it out in
america format, any clues ideas?

Open up Books Online and do a search for CAST AND CONVERT. That will show
you how to format dates using various national conventions etc.

However, generally speaking, it would be better to do this in your
presentation layer.
 
J

Jon Skeet [C# MVP]

thechaosengine said:
OK, thats cool.

Now, just one last thing. Would I be right in thinking that if the code is
running on an american server, it will default to the american way of doing
dates?

I'm pretty sure it should...

*Probably*. If it's an ASP.NET app, you may find it takes the UI
culture (set on the thread from what the browser provides) rather than
the "normal" culture. I can't remember off the top of my head.
Definitely try it on a US-based server with browser settings for US and
UK.

Jon
 

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,774
Messages
2,569,596
Members
45,139
Latest member
JamaalCald
Top