pdi*_*izz 91 c# filenames datetime datetime-format
我想在创建文件时为文件名添加时间戳,但我尝试使用空格和斜杠输出大多数DateTime方法.例如:
Debug.WriteLine(DateTime.Now.ToString()); // <-- 9/19/2012 1:41:46 PM
Debug.WriteLine(DateTime.Now.ToShortTimeString()); // <-- 1:41 PM
Debug.WriteLine(DateTime.Now.ToShortDateString()); // <-- 9/19/2012
Debug.WriteLine(DateTime.Now.ToFileTime()); // <-- 129925501061462806
Run Code Online (Sandbox Code Playgroud)
ToFileTime()有效但不完全是人类可读的.如何将输出格式化为人类可读的时间戳,其中包含可在文件名或扩展名中使用的日期和时间?喜欢这样的东西2011-19-9--13-45-30?
Kri*_*aes 162
你可以用这个:
DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss");
Run Code Online (Sandbox Code Playgroud)
Chr*_*tte 103
我会使用ISO 8601格式,没有分隔符:
DateTime.Now.ToString("yyyyMMddTHHmmss")
Run Code Online (Sandbox Code Playgroud)
小智 13
我有类似的情况,但我想要一致的方式,以便能够使用文件名中的DateTime.Parse,所以我去了
DateTime.Now.ToString("s").Replace(":", ".") // <-- 2016-10-25T16.50.35
Run Code Online (Sandbox Code Playgroud)
当我想解析时,我可以简单地反转Replace调用.这样我就不必输入任何yymmdd内容或猜测DateTime.Parse允许的格式.
var filename = $"{DateTime.Now:yyyy.dd.M HH-mm-ss}"
Run Code Online (Sandbox Code Playgroud)
2020 年 1 月 1 日上午 10:40:45 的示例输出:
2020.28.01 10-40-45
或者,如果您想要标准日期格式:
var filename = $"{DateTime.Now:yyyy.M.dd HH-mm-ss}"
Run Code Online (Sandbox Code Playgroud)
2020年1月28日 10-40-45
注意:此功能在 C# 6 及更高版本的语言中可用。
你可以尝试使用
var result = DateTime.Now.ToString("yyyy-MM-d--HH-mm-ss");
Run Code Online (Sandbox Code Playgroud)
以下是最常用的时间格式说明符列表。
DD -天月的,从01到31。
MM -月份,从01到12。
yyyy-年,为四位数。
hh - hour,使用从 12到12的时钟,从01到12。
毫米 -分钟,从00到59。
SS -第二,从00至59。
HH -小时,使用 24小时时钟从00到23。
tt - AM / PM指示符。
使用上述方法,您将能够为文件名形成唯一的名称。
在这里我提供了例子
string fileName = "fileName_" + DateTime.Now.ToString("MM-dd-yyyy_hh-mm-ss-tt") + ".pdf";
Run Code Online (Sandbox Code Playgroud)
要么
如果您不想使用符号,也可以尝试使用此符号。
string fileName = "fileName_" + DateTime.Now.ToString("MMddyyyyhhmmsstt") + ".pdf";
Run Code Online (Sandbox Code Playgroud)
希望这对现在或将来的人有所帮助。:)
我个人喜欢这样:
DateTime.Now.ToString("yyyy-MM-dd HH.mm.ss")
Run Code Online (Sandbox Code Playgroud)
因为它区分了日期和时间.
| 归档时间: |
|
| 查看次数: |
95845 次 |
| 最近记录: |