how to convert date type in SQL query output ?http://forums.asp.net/t/1615075.aspx/1?how+to+convert+date+type+in+SQL+query+output+Thu, 21 Oct 2010 16:56:53 -040016150754133633http://forums.asp.net/p/1615075/4133633.aspx/1?how+to+convert+date+type+in+SQL+query+output+how to convert date type in SQL query output ? <p>In my database when anyone registers - By default the registration time is saved as UTC universal time zone.</p> <p>But i want to display everything on the website in (GMT-05:00) Eastern Time (US &amp; Canada)</p> <p>I am using this SQL QUERY to display registration date:<br> </p> <p>SELECT TOP (5) Username, CustomerID,&nbsp; RegistrationDate = CONVERT(VARCHAR(12),RegistrationDate,107)&nbsp; FROM Customer ORDER BY RegistrationDate DESC</p> <p>And, i am displaying it like this:</p> <p>&lt;asp:Label ID=&quot;nameLabeldate&quot; runat=&quot;server&quot; Text='&lt;%# Eval(&quot;RegistrationDate&quot;) %&gt;' /&gt;</p> <p>The problem is the output is getting displayed as : 10/20/2010 1:36:01 PM</p> <p>I know RegistrationDate is datetime stamp that's why i am getting output in this format.</p> <p>But i want to display RegistrationDate as: Oct 20, 2010 at 1:36pm -&gt; according to (GMT-05:00) Eastern Time (US &amp; Canada) ORDER BY RegistrationDate in Desc (top most will be last registered user)<br> </p> <p>I need help with sql query by which i should be able to accoplish my desired output..please help...<br> </p> 2010-10-20T20:09:28-04:004133656http://forums.asp.net/p/1615075/4133656.aspx/1?Re+how+to+convert+date+type+in+SQL+query+output+Re: how to convert date type in SQL query output ? <p>You mean like this?:</p> <p>CONVERT(VARCHAR,RegistrationDate,100)&nbsp;</p> <p><a href="http://msdn.microsoft.com/en-us/library/ms187928.aspx">http://msdn.microsoft.com/en-us/library/ms187928.aspx</a></p> <p>&nbsp;</p> 2010-10-20T20:29:44-04:004133681http://forums.asp.net/p/1615075/4133681.aspx/1?Re+how+to+convert+date+type+in+SQL+query+output+Re: how to convert date type in SQL query output ? <p>hello Tab,</p> <p>i have already tried something like this which solves 1 thing but not other (about time zone)</p> <p>when i use this query :</p> <p>SelectCommand=&quot;SELECT TOP (5) Username, CustomerID, RegistrationDate = CONVERT(VARCHAR,RegistrationDate,100) FROM Customer ORDER BY RegistrationDate DESC&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p> <p>it gives output like this: (<span id="ctl00_ctl00_cph1_cph1_ctrlHomePageNews_DataList2a_ctl00_nameLabeldate">Oct 18 2010 7:13PM</span>)</p> <p>But this time that is being displayed is in format of UTC universal time zone. (as it is being saved in database in UTC format)<br> </p> <p>and i am in eastern time zone so 7:13pm in eastern time zone means 3:13pm (5 hours less) ,</p> <p>So, what happens is that when i display registration time, it gives 5 hours future time as i am in eastern time zone.</p> <p>so if user registers at 3:13pm according to (GMT-05:00) Eastern Time (US &amp; Canada), the result shows 7:13pm as future time for registration.<br> </p> <p><br> </p> 2010-10-20T20:49:11-04:004133693http://forums.asp.net/p/1615075/4133693.aspx/1?Re+how+to+convert+date+type+in+SQL+query+output+Re: how to convert date type in SQL query output ? <p>I suggest a SQL function that converts UTC to local time.&nbsp;&nbsp; You can write your own or look around the web&nbsp;for one.&nbsp;&nbsp; On my&nbsp;first google, I found this:</p> <p><a href="http://www.codeproject.com/KB/database/ConvertUTCToLocal.aspx">http://www.codeproject.com/KB/database/ConvertUTCToLocal.aspx</a></p> <p>&nbsp;</p> <p>&nbsp;</p> 2010-10-20T21:00:18-04:004133724http://forums.asp.net/p/1615075/4133724.aspx/1?Re+how+to+convert+date+type+in+SQL+query+output+Re: how to convert date type in SQL query output ? <pre class="prettyprint">&lt;ItemTemplate&gt;&lt;asp:Label ID=&quot;Label1&quot; runat=&quot;server&quot; Text='&lt;%# String.Format(&quot;{0:MMMM dd, yyyy h:mm tt}&quot;, Eval(&quot;RegistrationDate&quot;).ToLocalTime()) %&gt;' &gt;&lt;/asp:Label&gt;&lt;/ItemTemplate&gt;</pre> <P><BR>For C# page:</P><pre class="prettyprint"> &lt;ItemTemplate&gt; &lt;asp:Label ID="Label1" runat="server" Text='&lt;%# String.Format("{0:MMMM dd, yyyy h:mm tt}", ((DateTime)Eval("RegistrationDate")).ToLocalTime()) %&gt;' &gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt;</pre> <p><br> &nbsp;</p> 2010-10-20T21:30:00-04:004133764http://forums.asp.net/p/1615075/4133764.aspx/1?Re+how+to+convert+date+type+in+SQL+query+output+Re: how to convert date type in SQL query output ? <p></p> <blockquote><span class="icon-blockquote"></span> <h4>ASP__DEVELOPER</h4> &lt;asp:Label ID=&quot;nameLabeldate&quot; runat=&quot;server&quot; Text='&lt;%# Eval(&quot;RegistrationDate&quot;) %&gt;' /&gt;</blockquote> <p></p> <p>I am assuming that date will not be null.</p> <pre style="font-family:consolas"><span style="color:blue">&lt;</span><span style="color:maroon">asp</span><span style="color:blue">:</span><span style="color:maroon">Label</span>&nbsp;<span style="color:red">ID</span><span style="color:blue">=</span><span style="color:blue">&quot;nameLabeldate&quot;</span>&nbsp;<span style="color:red">runat</span><span style="color:blue">=</span><span style="color:blue">&quot;server&quot;</span>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:red">Text</span><span style="color:blue">=</span><span style="color:blue">'</span><span style="background:yellow">&lt;%</span><span style="color:blue">#</span>&nbsp;DateTime.Parse(Eval(&quot;RegistrationDate&quot;).ToString()).ToLocalTime().ToLongDateString()&nbsp;<span style="background:yellow">%&gt;</span><span style="color:blue">'</span><span style="color:blue">&gt;</span><br><span style="color:blue">&lt;/</span><span style="color:maroon">asp</span><span style="color:blue">:</span><span style="color:maroon">Label</span><span style="color:blue">&gt;</span></pre> <p><br> </p> 2010-10-20T22:08:17-04:004133863http://forums.asp.net/p/1615075/4133863.aspx/1?Re+how+to+convert+date+type+in+SQL+query+output+Re: how to convert date type in SQL query output ? <p>hello santhosh,</p> <p>this is what i am getting as output: <span style="border-collapse:collapse; color:rgb(89,72,63); font-family:'lucida grande',arial,helvetica,sans-serif; font-size:12px; font-weight:bold; text-align:left"> (<span id="ctl00_ctl00_cph1_cph1_ctrlHomePageNews_DataList2a_ctl00_nameLabeldate" style="padding:0px; margin:0px">Wednesday, October 20, 2010</span>)</span></p> <p><span style="border-collapse:collapse; color:rgb(89,72,63); font-family:'lucida grande',arial,helvetica,sans-serif; font-size:12px; font-weight:bold; text-align:left">which looks great but how i can include time also ?</span></p> <p><span style="border-collapse:collapse; color:rgb(89,72,63); font-family:'lucida grande',arial,helvetica,sans-serif; font-size:12px; font-weight:bold; text-align:left">can i display it like this ? -&gt; </span><span style="border-collapse:collapse; color:rgb(89,72,63); font-family:'lucida grande',arial,helvetica,sans-serif; font-size:12px; font-weight:bold; text-align:left">(<span id="ctl00_ctl00_cph1_cph1_ctrlHomePageNews_DataList2a_ctl00_nameLabeldate" style="padding:0px; margin:0px">Wednesday, October 20, 2010 at 1:36pm</span>)</span></p> 2010-10-21T00:26:01-04:004133873http://forums.asp.net/p/1615075/4133873.aspx/1?Re+how+to+convert+date+type+in+SQL+query+output+Re: how to convert date type in SQL query output ? <p>Try this</p> <p><span style="color:blue">&lt;</span><span style="color:maroon">asp</span><span style="color:blue">:</span><span style="color:maroon">Label</span>&nbsp;<span style="color:red">ID</span><span style="color:blue">=</span><span style="color:blue">&quot;nameLabeldate&quot;</span>&nbsp;<span style="color:red">runat</span><span style="color:blue">=</span><span style="color:blue">&quot;server&quot;</span>&nbsp;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:red">Text</span><span style="color:blue">=</span><span style="color:blue">'</span><span style="background-color:yellow">&lt;%</span><span style="color:blue">#</span>&nbsp;DateTime.Parse(Eval(&quot;RegistrationDate&quot;).ToString()).ToLocalTime().ToString()&nbsp;<span style="background-color:yellow">%&gt;</span><span style="color:blue">'</span><span style="color:blue">&gt;</span><br> <span style="color:blue">&lt;/</span><span style="color:maroon">asp</span><span style="color:blue">:</span><span style="color:maroon">Label</span><span style="color:blue">&gt;</span></p> <p></p> <blockquote><span class="icon-blockquote"></span> <h4>ASP__DEVELOPER</h4> <span style="border-collapse:collapse; font-family:'lucida grande',arial,helvetica,sans-serif; font-size:12px; font-weight:bold; text-align:left">can i display it like this ? -&gt; </span><span style="border-collapse:collapse; font-family:'lucida grande',arial,helvetica,sans-serif; font-size:12px; font-weight:bold; text-align:left">(<span id="ctl00_ctl00_cph1_cph1_ctrlHomePageNews_DataList2a_ctl00_nameLabeldate" style="padding:0px; margin:0px">Wednesday, October 20, 2010 at 1:36pm</span>)</span></blockquote> <br> <p></p> <p>You can do it this way</p> <pre style="font-family:consolas"><span style="color:blue">&lt;</span><span style="color:maroon">asp</span><span style="color:blue">:</span><span style="color:maroon">Label</span>&nbsp;<span style="color:red">ID</span><span style="color:blue">=</span><span style="color:blue">&quot;Label1&quot;</span>&nbsp;<span style="color:red">runat</span><span style="color:blue">=</span><span style="color:blue">&quot;server&quot;</span>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:red">Text</span><span style="color:blue">=</span><span style="color:blue">'</span><span style="background:yellow">&lt;%</span><span style="color:blue">#</span>&nbsp;String.Format(&quot;{0}&nbsp;at&nbsp;{1}&quot;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DateTime.Parse(Eval(&quot;RegistrationDate&quot;).ToString()).ToLocalTime().ToLongDateString(),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DateTime.Parse(Eval(&quot;RegistrationDate&quot;).ToString()).ToLocalTime().ToLongTimeString())&nbsp;<span style="background:yellow">%&gt;</span><span style="color:blue">'</span><span style="color:blue">&gt;</span><br><span style="color:blue">&lt;/</span><span style="color:maroon">asp</span><span style="color:blue">:</span><span style="color:maroon">Label</span><span style="color:blue">&gt;</span></pre> 2010-10-21T00:57:20-04:004134008http://forums.asp.net/p/1615075/4134008.aspx/1?Re+how+to+convert+date+type+in+SQL+query+output+Re: how to convert date type in SQL query output ? <p>hello santhosh,</p> <p>i tried the above code but the time i am getting is not correct, </p> <p>the member registered at 10:38pm according to my eastern time zone (-5:00 GMT) but the above code is displaying this time:</p> <p><span style="border-collapse:collapse; font-family:'lucida grande',arial,helvetica,sans-serif; font-size:12px; font-weight:bold; text-align:left">(<span id="ctl00_ctl00_cph1_cph1_ctrlHomePageNews_DataList2a_ctl00_nameLabeldate" style="padding:0px; margin:0px">Wednesday, October 20, 2010 at 7:38pm</span>)</span></p> <p><span style="border-collapse:collapse; font-family:'lucida grande',arial,helvetica,sans-serif; font-size:12px; font-weight:bold; text-align:left">which means the time that is being displayed is 3 hours behind my eastern time zone...<br> </span></p> 2010-10-21T03:13:16-04:004134123http://forums.asp.net/p/1615075/4134123.aspx/1?Re+how+to+convert+date+type+in+SQL+query+output+Re: how to convert date type in SQL query output ? <p></p> <blockquote><span class="icon-blockquote"></span> <h4>asp__developer</h4> <p></p> <p>the member registered at 10:38pm according to my eastern time zone (-5:00 GMT) but the above code is displaying this time:</p> <p><span style="border-collapse:collapse; font-family:'lucida grande',arial,helvetica,sans-serif; font-size:12px; font-weight:bold; text-align:left">(<span id="ctl00_ctl00_cph1_cph1_ctrlHomePageNews_DataList2a_ctl00_nameLabeldate" style="padding:0px; margin:0px">Wednesday, October 20, 2010 at 7:38pm</span>)</span></p> <p><span style="border-collapse:collapse; font-family:'lucida grande',arial,helvetica,sans-serif; font-size:12px; font-weight:bold; text-align:left">which means the time that is being displayed is 3 hours behind my eastern time zone...</span></p> <p></p> </blockquote> <br> <p></p> <p></p> <p>I think ToLocalTime method gets Universal Time Offset to get the time difference. So, Make sure that you save UTC time when inserting new record. If you are using DateTime to insert date timestamp, use</p> <pre style="color:#000000; font-family:consolas; font-size:12px; margin:8px"><span style="color:#2b91af">DateTime</span>.Now.ToUniversalTime();</pre> <p>instead of DateTime.Now. If you are using GETDATE() function, use&nbsp;</p> <pre style="font-family:consolas"><span style="color:magenta">GETUTCDATE</span><span style="color:gray">()</span></pre> 2010-10-21T04:55:00-04:004135239http://forums.asp.net/p/1615075/4135239.aspx/1?Re+how+to+convert+date+type+in+SQL+query+output+Re: how to convert date type in SQL query output ? <p>hello santhosh, the datetime in database is already getting stored in UTC </p> <p>after struggling with this thing i figured out a way as i am using date picker, by using following i am getting correct date and time according to my set time zone.<br> </p> <p>&lt;%#DateTimeHelper.ConvertToUserTime((DateTime)Eval(&quot;RegistrationDate&quot;), DateTimeKind.Utc).ToString()%&gt;</p> <p>The output is being displayed as: (<span id="ctl00_ctl00_cph1_cph1_ctrlHomePageNews_DataList2a_ctl00_nameLabeldate">10/18/2010 3:13:07 PM</span>)</p> <p>Now can you help me how i can modify the above code to display the output like this -&gt; <span style="border-collapse:collapse; font-family:'lucida grande',arial,helvetica,sans-serif; font-size:12px; font-weight:bold; text-align:left"> (<span id="ctl00_ctl00_cph1_cph1_ctrlHomePageNews_DataList2a_ctl00_nameLabeldate" style="padding:0px; margin:0px">Wednesday, October 20, 2010 at 1:36pm</span>) ?<br> </span></p> 2010-10-21T16:20:46-04:004135284http://forums.asp.net/p/1615075/4135284.aspx/1?Re+how+to+convert+date+type+in+SQL+query+output+Re: how to convert date type in SQL query output ? <p>To convert database UTC datetime&nbsp;into Server local&nbsp;datetime (RegistrationDate is UTC datetime retrieved from database):</p> <p>VB.NET:</p> <pre class="prettyprint"><p><br> </p> <p>C#:</p> &lt;ItemTemplate&gt; &lt;asp:Label ID=&quot;Label1&quot; runat=&quot;server&quot; Text='&lt;%# String.Format(&quot;{0:f}&quot;, ((DateTime)Eval(&quot;RegistrationDate&quot;)).ToLocalTime()) %&gt;' &gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt;</pre> <p><br> &nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> 2010-10-21T16:56:53-04:00