0

カレンダーエクステンダーから日時を保存し、データベースに保存しています。日時の形式はFormat="dddd, MMMM dd, yyyy". 次に、この日時をグリッド ビューの他のフィールドと共に表示し、このフィールドに「CalendarDate」という名前を付けます。現在、グリッドの CalendarDate は のように表示されてい"6/29/2012 10:42:35 AM"ます。

カレンダーの日付に、「2012 年 6 月 29 日 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

DateTime.Tostring() http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htmを使用して、フロントエンドで行うことをお勧めします。SQL Server は、主にデータの保存に使用する必要があります。表示の書式設定は、使用する UI に任せる必要があります。これにより、SQL Server をより有効に活用できます。

于 2012-06-22T07:53:50.567 に答える
1

dataformatstring="{0:g}"このデータフィールドの Datagridview で使用します。

<asp:BoundField HeaderText="CalendarDate" DataField="MyDateColumn"  DataFormatString="{0:g}" >
于 2012-06-22T07:50:52.333 に答える
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 に答える