我的服務器在美國或其他一些時區託管。是否有選項可以在印度標準時間獲取SQL Server中的當前日期。在SQL Server中的IST中的日期
select getdate()
我應該寫什麼來獲得印度(或其他國家)的當前時間。
我的服務器在美國或其他一些時區託管。是否有選項可以在印度標準時間獲取SQL Server中的當前日期。在SQL Server中的IST中的日期
select getdate()
我應該寫什麼來獲得印度(或其他國家)的當前時間。
應該使用DATETIMEOFFSET
數據類型,其包括時區,並且SWITCHOFFSET
方法時區之間切換。另外:獲得當前時間,使用的SYSDATETIMEOFFSET()
代替GETDATE()
-- gets current date/time in the current timezone
SELECT
SYSDATETIMEOFFSET()
-- get the current date/time in your preferred timezone +05:30 UTC being Indian Std. Time
SELECT
SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30')
根據this link印度的時間是從美國9:30 hours ahead
。因此,爲了獲得印度時間,您需要在美國時間添加9.30 hours
。
SELECT DATEADD(hh,9.30,getdate())
在SQL Server 2008中,這將是更可取的使用'DATETIMEOFFSET'其中包括時區,而'SWITCHOFFSET'切換時區之間的日期/時間... –
與9.30的日期加載不起作用。它應該是n與570其中n是分鐘和9 * 60 + 30 = 540 –
@marc_s:感謝您的信息,它很好學習新東西! – NaveenBhat
嗨@marc_s你可以讓我知道如何從結果中刪除時區偏移值。現在我將它作爲10/3/2011 4:07:31 PM +05:30。我不需要+05:30結果 –
@AkhilKNambiar:只需使用CAST(SWITCHOFFSET(SYSDATETIMEOFFSET(),'+05:30')AS DATETIME)'那就應該這樣做 –