Solved

How to detect date format

Posted on 2011-02-22
10
546 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 40

Expert Comment

by:Sharath
Comment Utility
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 100 total points
Comment Utility
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
Comment Utility
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
 
LVL 52

Accepted Solution

by:
Carl Tawn earned 100 total points
Comment Utility
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
Comment Utility
carl_tawn:

Is that possible with SP?


Thanks.
0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 52

Expert Comment

by:Carl Tawn
Comment Utility
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 100 total points
Comment Utility
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 40

Assisted Solution

by:Sharath
Sharath earned 100 total points
Comment Utility
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
Comment Utility

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
Comment Utility
No comments
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Suggested Solutions

Hi all, It is important and often overlooked to understand “Database properties”. Often we see questions about "log files" or "where is the database" and one of the easiest ways to get general information about your database is to use “Database p…
Occasionally there is a need to clean table columns, especially if you have inherited legacy data. There are obviously many ways to accomplish that, including elaborate UPDATE queries with anywhere from one to numerous REPLACE functions (even within…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

771 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now