我从日历内容中存储日期时间并将其存储在数据库中。日期时间的格式为Format="dddd, MMMM dd, yyyy"
。然后我在网格视图中将此Datetime与其他字段一起显示,并将此字段命名为“CalendarDate”。目前,网格中的CalendarDate显示为"6/29/2012 10:42:35 AM"
。
我想日历日期会显示如下日期: - “6/29/2012 10:42 AM”。只有几秒钟就会被删除。请告诉我我是怎么做的。
我现在使用的存储过程是这样的: -
Create procedure St_Proc_GetUserReportforCurrentDayTask
@userID int
as
Begin
set NoCount on;
DECLARE @TODAY DATE
SET @TODAY = CONVERT(VARCHAR(10), GETDATE(), 111)
select Production.CalendarDate as Date,
RegionAndProjectInfo.RegionProjectName as Region ,
County.CountyName as County,
WorkType.WorkTypeName as WorkType,
Task.TaskName as Task,
Production.VolumeProcessed as 'Volumes Processed',
Production.TimeSpent as 'Duration (HH:MM)'
from Production
inner join RegionAndProjectInfo
on
RegionAndProjectInfo.RegionProjectID=Production.RegionProjectID
inner join County
on
County.CountyID=Production.CountyID
inner join WorkType
on
WorkType.WorkTypeID=Production.WorkTypeID
inner join Task
on
Task.TaskID=Production.TaskID
where Production.UserID=@userID and CalendarDate >= @TODAY
End
答案 0 :(得分:1)
在Datagridview中为此数据字段使用dataformatstring="{0:g}"
。
<asp:BoundField HeaderText="CalendarDate" DataField="MyDateColumn" DataFormatString="{0:g}" >
答案 1 :(得分:1)
我建议您使用DateTime.Tostring()http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm在前端执行此操作。 SQL Server应主要用于存储数据。显示格式应留给您使用的UI。这样您就可以更好地使用SQL Server。
答案 2 :(得分:0)
执行自己的格式化,取出日期部分,将它们转换为varchar,然后将它们串在一起,例如:
select
convert(varchar(2), (select DATEPART(month, GETDATE())))
+ '/' +
convert(varchar(2), (select DATEPART(month, GETDATE())))
+ '/' +
convert(varchar(4), (select DATEPART(year, GETDATE())))
作为旁注:通常您的UI负责格式化日期。为什么不返回一个DateTime对象并让UI处理这个?