2013-04-03 71 views
-1

這是一個非常簡單的問題,雖然我不知道如何最好地解決它。我有2個字段:更改DateFormatString以顯示11:59:59而不是12:00:00

<asp:BoundField DataField="AUCTIONBEGINS" HeaderText="Auction Begins" DataFormatString="{0:d}" HtmlEncode="False" > 
<asp:BoundField DataField="AUCTIONENDS" HeaderText="Auction Ends" DataFormatString="{0:d}" HtmlEncode="False" > 

我的問題是分配給這兩個字段中的值被寫入到Oracle數據庫,但我希望他們可以寫成以下方式:
爲AUCTIONBEGINS --- > 1/1/2013 12:00:00 AM for AUCTIONENDS ---> 2013年1月10日下午11:59:59

有沒有簡單的方法可以將此代碼硬編碼到DataFormatString中?或者我應該在寫入數據庫之前在服務器端執行此操作?

編輯*對不起,不太清楚。這兩個字段都會在上午12:00:00 AM時間戳保存,我想隱式地在AUCTIONENDS DataField上添加11:59:59 PM

+0

這並不完全清楚你的意思 - 但*數據庫*字段應該只是DATETIME字段(或其他);在這一點上真的沒有這樣的格式。 – 2013-04-03 19:54:00

+0

數據庫中存儲了什麼值? 2013年1月11日中午12:00:00? – itsme86 2013-04-03 19:55:58

+0

對不起,不太清楚。兩個字段都保存在最後的12:00:00 AM時間戳中,我想隱式地在AUCTIONENDS DataField上添加11:59:59 PM:請定義「最快」的意思(或從問題中刪除) - 你需要快速寫入的代碼嗎?佔用最少的服務器端時間?服務器和Oracle盒子之間的帶寬最小?別的東西? – Jose 2013-04-03 19:56:28

回答

1

你可以簡單地添加-1秒,日期:

auctionEnd = auctionEnd.AddSeconds(-1); 

這將打開,例如,2013年1月10日上午12點零零分00秒到2013年1月9日11時59分: 59 PM。

+0

這會工作。但是,這是我在數據庫上保存日期的方式: – Jose 2013-04-03 20:10:30

+0

文本到日期元素? – Jose 2013-04-03 20:11:59

+1

@Jose是的。你可以做'var auctionEnd = DateTime.Parse(auctionEnds.Text).AddSeconds(-1);' – itsme86 2013-04-03 20:12:58

3

如果您想要的是11:59:59 PM,我通常會做類似

EndDate.AddDays(1).AddSeconds(-1); 

這會給你日期的最後一秒。

相關問題