2011-10-10 102 views
0

在我的系統的日期格式設置爲YYY-MM-DD format.So我的C#應用​​程序時,我打電話DateTime.Now這是罰款,採用這種格式。日期時間格式時,應用程序作爲Windows服務

現在使用Install util命令將我的應用程序安裝爲服務。

運行服務後,它的日期格式爲dd/mm/yyy。 但我想在數據庫中保存格式爲yyy-MM-DD格式。

無論我需要更改我的代碼還是我可以在系統中設置此格式。

因爲已經只有yyy-mm-dd格式的區域設置。

只有當我將我的應用程序安裝爲服務時,纔會出現此問題。

請幫忙。提前致謝。

+0

你的意思是'yyyy'不''yyy',是嗎? – abatishchev

+0

@abatishchev這是我們的時代是相同的:根據MSDN(http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.aspx):'yyy' = _The年三位數。如果年份小於100,則年份顯示爲前導零._ @ – Otiel

+0

@Leito:感謝您的信息! – abatishchev

回答

1

使用datetime格式:

DateTime.Now.ToString("yyy-MM-dd"); 

,將讓你:

yyy:年度(同yyyy),例如2011
MM:月份數(單數位格式有前導零)
dd:日的數字(單個數字的格式有前導零)

3

首先一個問題給你:爲什麼你存儲日期爲您的數據庫中的字符串?我強烈建議將它作爲日期值來存儲。這將在存儲數據時消除任何格式問題。

作爲第二個建議,我會確保明確格式化字符串,而不是依賴於系統的設置,如果你需要將其存儲在一個特定的格式:

var dateAsString = theDate.ToString("yyyy-MM-dd"); 
+0

並利用全球化的特點:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx –

+0

+1上存儲的日期在數據庫中_DATE VALUE_。 – Otiel

1

在我的系統的日期格式設置爲YYY-MM-DD格式

在區域設置?

這隻會爲當前用戶的格式。因此,對於像其他用戶那樣運行的進程幾乎總是如此,對服務進程沒有影響。