2015-01-05 214 views
0

str.Replace( 「/」, 「」);我需要我的日期格式的格式更改日期格式 「」

從30/12/2014改爲30,12,2014。

public void ExportToTxtFile(DataTable dt, string filePath) 
     { 

StringBuilder str = new StringBuilder(); 

str.Append(dt.Rows[i][j].ToString() + ","); 
} 

str.Replace("/", ","); //how to specify only date time format to change 

File.WriteAllText(filePath, str.ToString()); 

我可以使用str.Replace(「/」,「,」);

有什麼好的方法來指定日期時間格式可以更改嗎?

+3

相關:http://stackoverflow.com/q/13277667/335858 – dasblinkenlight

回答

4

如果要加載的列是DateTime類型的你應該能夠只需要調用一個自定義格式,如toString()方法超載:

DateTime.Now.ToString("dd,MM,yyyy"); 
+0

數據庫的格式( 「YYYY-MM-DD」),我只能通過這種方式獲取 – Michael

+0

sqlCommand.Parameters .Add(new SqlParameter(「@ p_Date」,dateFrom.ToString(「yyyy-MM-dd」))); – Michael

+0

顯示的格式不一定非常重要,數據庫列的實際數據類型是什麼? DateTime,DateTime2或NVARCHAR? – AgustinCoder

0

相反的Replace("/", ","),使用內置轉換日期在轉換功能。嘗試這樣的:

// set the correct culture infos, here from the Netherlands and Spain. Use your cultures ;-) 
System.Globalization.CultureInfo sourceCultureInfo = 
    new System.Globalization.CultureInfo("nl-NL"); 
System.Globalization.CultureInfo targetCultureInfo = 
    new System.Globalization.CultureInfo("es-ES"); 

// convert 
DateTime sourceDate = DateTime.ParseExact(
    str.ToString(), "dd.MM.yyyy HH:mm:ss", sourceCultureInfo); 
string targetDate = sourceDate.ToString(targetCultureInfo) 
0

您不分配String.Replace()的結果。請嘗試以下操作:

str = str.Replace("/", ",");