SQL中的时间格式

时间:2012-06-22 07:45:14

标签: c# asp.net sql-server

我从日历内容中存储日期时间并将其存储在数据库中。日期时间的格式为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 

3 个答案:

答案 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处理这个?