Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

How to detect date format

Posted on 2011-02-22
10
Medium Priority
?
599 Views
Last Modified: 2012-06-27
I have an application that can accept both US and Europe date format but my MS SQL 2008 can only accept 1 format and we prefer US.  My plan is to check first if the date is in Europe format then convert it before saving.

Would it be proper to do the checking and conversion using SP or just to in VB.net code before saving?
It would be best if the recommendation comes with the sample code.

Thanks
0
Comment
Question by:JaimeJegonia
  • 4
  • 2
  • 2
  • +2
10 Comments
 
LVL 41

Expert Comment

by:Sharath
ID: 34958546
What is the data type of your column? If it is datetime, you need not to worry about the format as long as it is valid date. You need to format the date into your required format when you display it.
Let me know if your column datatype is not datetime but varchar/nvarchar.
0
 
LVL 26

Assisted Solution

by:tigin44
tigin44 earned 200 total points
ID: 34958580
you can convert it to the format as you wanted while storing that data i.e.  
I assume that your data type is datetime...

INSERT INTO table....
VALUES(...., CONVERT(datetime, someDateTimeValue, 102), ,,,,)

0
 

Author Comment

by:JaimeJegonia
ID: 34958780
Sharath_123
My Data type is DateTime but it does not accept: 22/02/2011

tigin44:
The format we prefer is this:
05/15/2010 20:15:00

Thanks for the prompt replies.
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
LVL 52

Accepted Solution

by:
Carl Tawn earned 200 total points
ID: 34958980
You will make things a lot easier for yourself if you send the dates to your SQL server in UTC format. Just because you send dates to the QSL Server in US format that doesn't mean that the SQL Server will necessarily interpret it as US format as it will depend on the  SQL Servers collation settings.

UTC is a standard format which will remove the ambiguity:
string utcDate = yourDate.ToString("yyyy-MM-dd HH:mm:ss");

Open in new window

0
 

Author Comment

by:JaimeJegonia
ID: 34959205
carl_tawn:

Is that possible with SP?


Thanks.
0
 
LVL 52

Expert Comment

by:Carl Tawn
ID: 34959303
It's easier if you can pass it to the SP in that format already. You can do date conversion in T-SQL, but you would need to know the input format in order to know how the date will be interpreted.

For example, if you passed "01/04/2010" to an SP, the SQL Server has no idea if you intended that to be "1st April 2010" or "4th January 2010", and it will interpret it based on its collation settings, which may or may not give the result you want.

If your app allows multiple date cultures then it is always easiest to handle the conversion in your application and send them to SQL Server in one standard format.
0
 
LVL 12

Assisted Solution

by:omegaomega
omegaomega earned 200 total points
ID: 34963728
Hellol, JaimeJegonia,

I'm in agreement with carl_tawn's suggestion.  And if it's of any value in making the conversion, you can get the current user's date format from:

    My.Application.Culture.DateTimeFormat.ShortDatePattern

Cheers,
Randy
0
 
LVL 41

Assisted Solution

by:Sharath
Sharath earned 200 total points
ID: 34964107
Do you have time part associated with your date column? If not, can you try like this.
INSERT INTO table....
VALUES(...., CONVERT(datetime, someDateTimeValue, 103), ,,,,)
0
 

Author Comment

by:JaimeJegonia
ID: 34983513

Carl_Tawn:

If my Date I am receiving is 22/02/2011 00:20 which is already a string,  how can I use your recommended formatting?

string utcDate = yourDate.ToString("yyyy-MM-dd HH:mm:ss");

I can neither convert 22/02/2011 00:20 to the current Date Culture.

Any Idea?


Thanks

0
 

Author Closing Comment

by:JaimeJegonia
ID: 38081850
No comments
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There have been several questions about Large Transaction Log Files in SQL Server 2008, and how to get rid of them when disk space has become critical. This article will explain how to disable full recovery and implement simple recovery that carries…
SQL Server engine let you use a Windows account or a SQL Server account to connect to a SQL Server instance. This can be configured immediatly during the SQL Server installation or after in the Server Authentication section in the Server properties …
Video by: ITPro.TV
In this episode Don builds upon the troubleshooting techniques by demonstrating how to properly monitor a vSphere deployment to detect problems before they occur. He begins the show using tools found within the vSphere suite as ends the show demonst…
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…

972 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question