2010-02-05 68 views
0
private void buildGrid() 
{ 
    this.currentActivities = new XSPIncidentActivityModel.XSPIncidentActivityEntities(BuildEntityConnectionString("XSMDSN")).XSP_IncidentActivity.Where(ia => ia.IncidentID == this.IncidentID).OrderBy(ia=>ia.CompletionDate).ToList(); 

    foreach (XSPIncidentActivityModel.XSP_IncidentActivity act in this.currentActivities) 
    { 
     act.CompletionDate.AddHours(this.TimeZoneOffset); 


     if (act.CompletionDate.IsDaylightSavingTime()) 
     { 
act.CompletionDate.AddHours(-1).ToString("MMM dd, yyyy"); 
     } 
    } 

    CommonGrid1.BindDataSource(this.currentActivities); 
} 

我不得不conert日期時間對象特定的格式即currentl; Y它顯示2009年9月14日下午12點20分三十○秒如何日期時間轉換爲特定格式

我必須以這種方式顯示9/14/2009 12:20 PM

通過將其轉換爲字符串字符串s = String.Format(「{0:g}」,act.CompletionDate.AddHours(this.TimeZoneOffset));我可以顯示日期時間沒有秒。

但是,由於數據被從SQL Server來我必須dislay DateTime對象(act.CompletionDate)在該特定格式

我試過,但它的工作狀態並沒有字符串 [] expectedFormats = {「G」 ,「g」,「f」,「F」}; 012orIFormatProvider culture = new CultureInfo(「en-GB」,true); act.CompletionDate = DateTime.ParseExact(s,expectedFormats,culture,DateTimeStyles.AllowWhiteSpaces);

回答

1

假設act.CompletionDate的類型爲System.DateTime,那麼調用act.CompletionDate.AddHours的代碼行將不會執行任何操作,因爲AddHours方法不會更改其調用的實例。而是返回一個新的DateTime,其中添加了小時。你可以做這樣的事情解決這個問題: -

act.CompletionDate = act.CompletionDate.AddHours(-1) 

同樣,要的ToString調用還一事無成,因爲ToString方法無助於在調用它的實例。它返回一個新的字符串對象,根據DateTime的值生成。

相反,爲了解決您的格式問題,請嘗試在顯示日期的GridView中爲列設置ItemStyle.DataFormatString。有關如何執行此操作的示例,請查看MSDN文章GridView Examples for ASP.NET 2.0: Formatting the GridView

+0

可以請你告訴我如何設置相關的格式化親網格列上的特徵。 – xrx215 2010-02-05 21:11:12

+0

已根據要求編輯 – 2010-02-05 21:34:02

2

一些例子,可以幫助

public static string Change_to_date_yymmdd(DateTime dt) 
    { 
     //string strTest = stringTest(); 
     string format = "yyMMdd"; 
     string date = dt.ToString(format, DateTimeFormatInfo.InvariantInfo); 
     return date; 
    } 

    public static string Change_to_time_24hr60min60sec60ms(DateTime dt) 
    { 
     string format = "HHmmssff"; 
     string time = dt.ToString(format, DateTimeFormatInfo.InvariantInfo); 
     return time; 

    } 
    public static string Change_to_rangevalidator(DateTime dt) 
    { 
     //string strTest = stringTest(); 
     string format = "yyyy-MM-dd-HH-mm-ss"; 
     string date = dt.ToString(format, DateTimeFormatInfo.InvariantInfo); 
     return date; 
    } 
+0

act.completiondate是一個日期時間對象,我必須將其顯示爲不將日期時間對象轉換爲字符串 – xrx215 2010-02-05 21:24:32

+0

我無法看到這可以如何幫助 – 2010-02-05 21:28:37

0
string date = DateTime.Now.ToString("M/d/yyyy hh:mm tt"); 
// prints in this format 9/14/2009 12:20 PM 
相關問題