【问题标题】:DateTime stamp in output .zip file输出 .zip 文件中的日期时间戳
【发布时间】:2015-02-06 12:01:48
【问题描述】:

我有一个字符串路径来输出 .ZIP 文件字符串 path = @"C:\TEMP\test.zip";,我正在寻找五个文件名的日期戳。例如,test_TodayDate.ZIP。 有没有办法做到这一点?

谢谢

【问题讨论】:

  • 看看DateTime.Now(或DateTime.Today)和string.Format。如果你展示你已经尝试过的东西,人们也更愿意提供帮助。
  • 您好,感谢您的回答。我试图将其字符串时间戳 = DateTime.Now.ToString("yyyyMMddHHmmssffff");然后像这样输出 String path = @"C:\TEMP\test.zip" + timestamp;但它给了我一个没有格式的文件,我期望它是有问题的 zip 文件

标签: c# file output datestamp


【解决方案1】:

你可以这样做:

string filePath = @"C:\TEMP\test.zip";
string finalPath = Path.Combine(Path.GetDirectoryName(filePath),
                            Path.GetFileNameWithoutExtension(filePath) 
                                  + DateTime.Now.ToString("yyyyMMddHHmmss") 
                                  + Path.GetExtension(filePath));
  • 首先获取不带扩展名的文件名并添加您的时间戳,然后连接文件扩展名,
  • 然后获取文件路径的当前目录
  • 使用 Path.Combine 组合目录和新文件名

【讨论】:

  • 嗨,我尝试了以下操作,但我只是得到了没有日期的文件名。我做了以下 String path = @"C:\TEMP\tests.zip"; String finalPath = Path.Combine(Path.GetDirectoryName(path), Path.GetFileNameWithoutExtension(path) + DateTime.Now.ToString("yyyyMMddHHmmss") + Path.GetExtension(path));
  • @BenjaminArancibia,这应该可以正常工作,你确定你没有检查path,你的新路径应该在finalPath
  • 嗨,对不起,你是对的。我从错误的文件路径写入。我更改了以下 System.IO.File.WriteAllBytes(finalPath, MyBinFiles);它奏效了。非常感谢!!!!
【解决方案2】:

你可以创建自己的变量,像这样,

// gets the file name without extension
var fileName = Path.GetFileNameWithoutExtension(path); 
// create the new file name
var newFileName = fileName + "_" + DateTime.Now + ".zip"; 

现在保存生成的新文件,并将此文件命名为newFileName,名称中将包含日期时间。

【讨论】:

  • 您好,感谢您的回复,我尝试了以下但输出没有数据戳扩展名 String path = @"C:\TEMP\test.zip"; var fileName = Path.GetFileNameWithoutExtension(path); // 创建新文件名 var newFileName = fileName + "_" + DateTime.Now + ".zip";
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-27
  • 2018-01-24
  • 2018-04-14
  • 2014-02-22
  • 2023-02-22
相关资源
最近更新 更多