0

我从日历扩展器存储日期时间并将其存储在数据库中。日期时间的格式是Format="dddd, MMMM dd, yyyy". 然后我在网格视图中将此日期时间与其他字段一起显示,并将此字段命名为“日历日期”。目前,网格中的 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 
4

3 回答 3

1

dataformatstring="{0:g}"在 Datagridview 中用于此数据字段。

<asp:BoundField HeaderText="CalendarDate" DataField="MyDateColumn"  DataFormatString="{0:g}" >
于 2012-06-22T07:50:52.333 回答
1

我建议您在前端使用 DateTime.Tostring() http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm进行。SQL Server 应该主要用于存储数据。显示的格式应该留给您使用的 UI。这样您就可以更好地利用 SQL Server。

于 2012-06-22T07:53:50.567 回答
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 处理呢?

于 2012-06-22T07:50:29.877 回答