2013-03-26 46 views
3

System.DateTime.Now在C#中什麼時候返回? 它是本地計算機(客戶端)時間還是服務器(IIS)時間?System.DateTime.Now在C#中返回什麼?

如果這返回客戶端時間,如何獲取服務器時間,反之亦然?

編輯 好吧,對不起,這是一個錯誤,我把paranthesis。 但問題是本地時間還是服務器時間。

+8

它返回運行代碼的機器的時間。 – Kangkan 2013-03-26 04:56:42

+5

可能是一個語法錯誤。這是一個財產,所以沒有括號。 http://msdn.microsoft.com/en-us/library/system.datetime.now.aspx。 – 2013-03-26 04:57:27

+0

「System.DateTime.Now」返回當前時間。 「System.DateTime.Now()」是一個語法錯誤。 – SecurityMatt 2013-03-26 04:57:28

回答

5

DateTime.Now執行一些步驟:

  • 從操作系統獲取UTC時間
  • 獲取從計算機的註冊表在其上執行
  • 使用時區信息來解決UTC本地時間(再次,當地的執行機器)

如果返回時區信息客戶端時間,如何獲得服務器時間,反之亦然?

如果您正在處理多個時區中的客戶端,通常會將所有日期存儲爲UTC,然後存儲客戶端的時區以進行轉換。

JavaScript還可用於將UTC日期解析爲客戶端時間和/或在Web瀏覽器中獲取時間。

地理定位(例如檢查用戶的IP)也可以用來猜測用戶的位置/時區,儘管它不能保證是準確的。

+0

是不是DateTime.Now比Date.Now? – Firnas 2013-03-26 05:12:17

+0

@Firnas - 是的,好的。 – 2013-03-26 05:13:55

1

顯然,它返回當前的服務器時的代碼是在服務器上

1

DateTime.Now返回當前日期和時間服務器計算機上,表示爲本地時間。

代碼駐留在服務器上的含義。

然而,使用JavaScript從瀏覽器獲取當前日期/時間。

function getDateTime() 
{ 
    var localTime = new Date(); 
    var year= localTime.getYear(); 
    var month= localTime.getMonth() +1; 
    var date = localTime.getDate(); 
    var hours = localTime .getHours(); 
    var minutes = localTime .getMinutes(); 
    var seconds = localTime .getSeconds();  
    //at this point you can do with your results whatever you please 
} 
+0

@downvoter ...你可以請告訴我倒票的原因..? – 2013-03-26 04:59:37

+0

我沒有downvote(也不會),但是你還沒有回答OP的第二部分問題(「如何獲得客戶時間?」)。 – 2013-03-26 05:02:33

6

DateTime.Now返回服務器上的當前日期和時間,表示爲本地時間

得到你需要使用JavaScript客戶端時間:

var now = new Date(); 
var hours = now.getHours(); 
var minutes = now.getMinutes(); 
//etc 
var utcHours = now.getUTCHours(); 
var utcMinutes = now.getUTCMinutes(); 
//etc 
//or 
var utc = now.getTime();//milliseconds since 1 January 1970 00:00:00 UTC 
2

由於asp.net是服務器端技術,它將返回託管網站/應用程序的服務器時間。

要獲得客戶端的時候,你需要使用javasrcipt/jQuery的,這是客戶端技術:

var now = new Date(); 
now.format("dd/M/yy h:mm tt"); 

http://www.w3schools.com/jsref/jsref_obj_date.asp

希望它能幫助:)

+0

應該注意'.format()'不是標準的方法;儘管它可以從幾個不同的庫中提供。 – 2013-03-26 05:09:55

+0

@JonathanLonowski:Thnx的輸入。是的,任何版本的jQuery lib都可以。但是,Date()函數是純粹的javascript。 – Avishek 2013-03-26 05:13:32

0

其返回當前系統時間

在客戶端運行:如果它正在執行客戶端sid,則返回cllient系統時間Ë

在服務器

運行:它返回服務器的時間,如果它在服務器

執行,如果你想服務器時只寫在服務器上運行,然後在客戶端系統調用它的方法

看到this參考的例子,從客戶端調用服務器方法。

相關問題