使用ASP.NET API我使用 GetDate() SQL Server函数插入了DateTime,当我选择返回数据时,它给出的格式如下2015-12-07T09:20:17.097
,而且时间不正确插入记录时的当前时间。
如何根据当地时区获取/插入时间
答案 0 :(得分:0)
您有两种选择:
- 使用SQL选择查询日期格式化程序格式化数据 参考:http://www.w3schools.com/sql/func_convert.asp
- 使用ASP.net c#/ Vb.net,您可以使用Convert.ToDateTime(value).ToString(" put format here"); 参考:https://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx
醇>
答案 1 :(得分:0)
这里有两个功能可以帮到你。首先是SYSDATETIMEOFFSET 这将从服务器返回日期,时间和时区。如果我们将其与SWITCHOFFSET结合使用,我们可以返回另一个时区的日期和时间。
这是一个返回美国东部时间(-05:00)的示例:
SELECT
SWITCHOFFSET(SYSDATETIMEOFFSET(), '-05:00') AS EasternTime
时区参数是夏令时的awear。
下一个示例演示时区参数设置时区,而不是仅添加/减去传递的小时数和分钟数:
DECLARE @GMT DATETIMEOFFSET = '2015-12-17 09:00:00.0000000 +00:00'
DECLARE @GMT_Plus1 DATETIMEOFFSET = '2015-12-17 10:00:00.0000000 +01:00'
/* Both 9am in timezone +0 (London) and 10am in +1 (Paris)
* will return 4am Eastern time (timezone -5)
*/
SELECT
SWITCHOFFSET(@GMT, '-05:00') AS EasternTime1,
SWITCHOFFSET(@GMT_Plus1, '-05:00') AS EasternTime2
;
这两个功能都需要SQL Server 2008或更高版本。有关SQL Server的日期和时间功能的更多信息,请参阅MSDN。