亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

轉換為 csv C# 時如何替換格式日期

轉換為 csv C# 時如何替換格式日期

C#
jeck貓 2023-07-22 17:06:56
我在將數據轉換為 csv 時遇到問題,尤其是格式日期“dd-MM-yyyy”。public void Export_CSV(DataTable dt, string FileName, string Separator, string Path){    string path = HttpContext.Current.Server.MapPath("~/" + Path + "/" + FileName + ".csv");    StringBuilder sb = new StringBuilder();    string[] columnNames = dt.Columns.Cast<DataColumn>().                                      Select(column => column.ColumnName).                                      ToArray();    sb.AppendLine(string.Join(",", columnNames));    foreach (DataRow row in dt.Rows)    {        string[] fields = row.ItemArray.Select(field => field.ToString()).                                        ToArray();        sb.AppendLine(string.Join(",", fields));    }    File.WriteAllText(path, sb.ToString());}結果,格式日期不是恒定的。它應該像“dd-MM-yyyy”
查看完整描述

1 回答

?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

您可以嘗試設置 CurrentInfo.CurrentCulture 的默認 DateTimeFormat,以便強制使用 ToString 將吐出的默認 DateTime 格式。


我相信默認情況下 .ToString() 將生成與 ShortString 格式相關的 d/MM/yyyy 。


嘗試在輸出日期之前將以下內容添加到代碼中。


CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone(); 

culture.DateTimeFormat.ShortDatePattern = "dd-MMM-yyyy";

Thread.CurrentThread.CurrentCulture = culture;

要恢復到您設置的內容,只需添加一些代碼來首先存儲原始值,然后在方法結束時重置


CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone(); 

var originalShortDatePattern = culture.DateTimeFormat.ShortDatePattern

culture.DateTimeFormat.ShortDatePattern = "dd-MMM-yyyy";

Thread.CurrentThread.CurrentCulture = culture;

...

Your code

...

culture.DateTimeFormat.ShortDatePattern = originalShortDatePattern ;

Thread.CurrentThread.CurrentCulture = culture;

值得一試


查看完整回答
反對 回復 2023-07-22
  • 1 回答
  • 0 關注
  • 178 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號