4 回答

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以為此使用字符串插值,以使其更清晰易讀。另外,不要在你不想要的字符串中放置任何東西......
var filePath = AppDomain.CurrentDomain.BaseDirectory +
$"\\Logs\\import-contacts-{DateTime.Today.AddDays(-1):yyyyMMdd}.csv";
或者(如果你喜歡 1-liner)...
var filePath = $"{AppDomain.CurrentDomain.BaseDirectory}\\Logs\\import-contacts-{DateTime.Today.AddDays(-1):yyyyMMdd}.csv";
這是一個(gè)工作示例...
https://dotnetfiddle.net/aYAgVr
注意 DateTime.Now將完全相同,因?yàn)槟诟袷交敵鲆詢H顯示日期部分。我只是對不使用 DateTime 約會(huì)感到迂腐!

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
.
只需從方法中刪除ToString()
。嘗試像:
string = AppDomain.CurrentDomain.BaseDirectory + "\Logs\import-contacts-" + DateTime.Now.ToString("yyyyMMdd").Replace('/', ' ') + ".csv";
編輯(根據(jù)新要求):
DateTime.Now.AddDays(-1).ToString("yyyyMMdd")

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
問題是您依靠當(dāng)前的文化來提供正確的格式,但當(dāng)前對不同的用戶意味著不同的東西,并且顯然不會(huì)產(chǎn)生您想要的格式。
解決方案很簡單,使用特定的文化來獲取特定的格式:
DateTime.Today.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture)
應(yīng)始終使用點(diǎn)作為分隔符。

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
它會(huì)為你工作。
string path = string.Format(@"{0}Logs\import-contacts-{1}.csv", new object[] { AppDomain.CurrentDomain.BaseDirectory, DateTime.Now.ToString("yyyyMMdd") });
- 4 回答
- 0 關(guān)注
- 187 瀏覽
添加回答
舉報(bào)