1

这是一个非常简单的问题,虽然我不知道如何最好地解决它。我必须2个字段:

<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 对于 AUCTIONENDS - --> 2013 年 1 月 10 日晚上 11:59:59

有没有一种简单的方法可以将它硬编码到 DataFormatString 中?或者我应该在写入数据库之前在服务器端执行此操作吗?

编辑*对不起,不太清楚。两个字段最后都以 12:00:00 AM 时间戳保存,我想在 AUCTIONENDS DataField 上隐式添加 11:59:59 PM

4

3 回答 3

2

如果你想要的是晚上 11:59:59,我通常会做类似的事情

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

这将为您提供日期当天的最后一秒。

于 2013-04-03T20:06:15.067 回答
1

如果您想要的是晚上 11:59:59,那么对我来说,现在的最佳做法是使用:

EndDate.Add(DateTime.MaxValue.TimeOfDay)

代替:

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

在此处输入图像描述

于 2020-10-19T12:41:28.560 回答
0

您可以简单地将 -1 秒添加到日期:

auctionEnd = auctionEnd.AddSeconds(-1);

例如,这会将 1/10/2013 12:00:00 AM 转换为 1/9/2013 11:59:59 PM。

于 2013-04-03T20:06:49.953 回答