2012-01-23 40 views
0

我有一个用C#编码的Wpf浏览器应用程序,问题在于Date.Time.Now返回客户端PC上的时间,并且不可靠,如何从我的应用程序服务器或MSSQL服务器获取时间?如何在WPF浏览器上获取服务器时间应用程序?

+0

你为什么不得到的查询服务器日期时间,并显示在客户端上? – jcvegan

+0

服务器时间与客户端时间有何不同,服务器的时间是多少?服务器的实际位置在哪里?.. \ – MethodMan

+1

服务器需要什么时间?这是一种红旗,你试图做一些客户端应该在服务器端完成。 –

回答

1

如果您需要服务器当前时间戳,您需要创建一个SQL查询并将其返回给您正在使用的客户端计算机上显示的应用程序。

你可以尝试DateTime.UtcNow以及或

看一些这些例子

The following examples use the six SQL Server system functions that return current date and time to return the date, time or both. The values are returned in series; therefore, their fractional seconds might be different. 
A. Getting the current system date and time 

SELECT 'SYSDATETIME()  ', SYSDATETIME(); 
SELECT 'SYSDATETIMEOFFSET()', SYSDATETIMEOFFSET(); 
SELECT 'SYSUTCDATETIME() ', SYSUTCDATETIME(); 
SELECT 'CURRENT_TIMESTAMP ', CURRENT_TIMESTAMP; 
SELECT 'GETDATE()   ', GETDATE(); 
SELECT 'GETUTCDATE()  ', GETUTCDATE(); 
/* Returned: 
SYSDATETIME()   2007-05-03 18:34:11.9351421 
SYSDATETIMEOFFSET()  2007-05-03 18:34:11.9351421 -07:00 
SYSUTCDATETIME()   2007-05-04 01:34:11.9351421 
CURRENT_TIMESTAMP  2007-05-03 18:34:11.933 
GETDATE()    2007-05-03 18:34:11.933 
GETUTCDATE()    2007-05-04 01:34:11.933 
*/ 

B. Getting the current system date 

SELECT 'SYSDATETIME()  ', CONVERT (date, SYSDATETIME()); 
SELECT 'SYSDATETIMEOFFSET()', CONVERT (date, SYSDATETIMEOFFSET()); 
SELECT 'SYSUTCDATETIME() ', CONVERT (date, SYSUTCDATETIME()); 
SELECT 'CURRENT_TIMESTAMP ', CONVERT (date, CURRENT_TIMESTAMP); 
SELECT 'GETDATE()   ', CONVERT (date, GETDATE()); 
SELECT 'GETUTCDATE()  ', CONVERT (date, GETUTCDATE()); 

/* Returned: 
SYSDATETIME()   2007-05-03 
SYSDATETIMEOFFSET()  2007-05-03 
SYSUTCDATETIME()   2007-05-04 
CURRENT_TIMESTAMP  2007-05-03 
GETDATE()    2007-05-03 
GETUTCDATE()    2007-05-04 
*/ 

C. Getting the current system time 

SELECT 'SYSDATETIME()  ', CONVERT (time, SYSDATETIME()); 
SELECT 'SYSDATETIMEOFFSET()', CONVERT (time, SYSDATETIMEOFFSET()); 
SELECT 'SYSUTCDATETIME() ', CONVERT (time, SYSUTCDATETIME()); 
SELECT 'CURRENT_TIMESTAMP ', CONVERT (time, CURRENT_TIMESTAMP); 
SELECT 'GETDATE()   ', CONVERT (time, GETDATE()); 
SELECT 'GETUTCDATE()  ', CONVERT (time, GETUTCDATE()); 
/* Returned 
SYSDATETIME()   18:25:01.6958841 
SYSDATETIMEOFFSET()  18:25:01.6958841 
SYSUTCDATETIME()   01:25:01.6958841 
CURRENT_TIMESTAMP  18:25:01.6930000 
GETDATE()    18:25:01.6930000 
GETUTCDATE()    01:25:01.6930000 
*/ 
相关问题