C# SQL中的时间格式
我正在从日历扩展数据存储日期时间并将其存储在数据库中。日期时间的格式是C# SQL中的时间格式,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我正在从日历扩展数据存储日期时间并将其存储在数据库中。日期时间的格式是Format=“dddddd,MMMM dd,yyyy”。然后我在网格视图中显示这个Datetime和其他字段,并将这个字段命名为“CalendarDate”。当前,网格中的日历日期显示为“6/29/2012 10:42:35 AM” 我希望日历日期显示如下日期:-“2012年6月29日上午10:42”。只会删除秒。请告知我如何执行此操作 我现在使用的存储过程如下所示:- Create procedure St_Proc_Ge
Format=“dddddd,MMMM dd,yyyy”
。然后我在网格视图中显示这个Datetime和其他字段,并将这个字段命名为“CalendarDate”。当前,网格中的日历日期显示为“6/29/2012 10:42:35 AM”
我希望日历日期显示如下日期:-“2012年6月29日上午10:42”。只会删除秒。请告知我如何执行此操作
我现在使用的存储过程如下所示:-
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
通过取出日期部分,将其转换为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处理这个问题?在Datagridview中为此数据字段使用
dataformatstring=“{0:g}”
<asp:BoundField HeaderText="CalendarDate" DataField="MyDateColumn" DataFormatString="{0:g}" >
我建议您在前端使用DateTime.Tostring()完成此操作。SQL Server应主要用于存储数据。显示的格式应留给您使用的UI。这样可以更好地使用SQL Server 日期类型没有格式。只有将日期值转换为字符串或将日期值转换为字符串时,才使用特定格式。