Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL中的时间格式_C#_Asp.net_Sql Server - Fatal编程技术网

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

日期类型没有格式。只有将日期值转换为字符串或将日期值转换为字符串时,才使用特定格式。