답변:
DateTime.ToString 메서드 (String)를 사용할 수 있습니다.
DateTime.Now.ToString("yyyyMMddHHmmssfff")
string.Format("{0:yyyy-MM-dd_HH-mm-ss-fff}", DateTime.Now)
;
또는 보간 된 문자열
$"{DateTime.Now:yyyy-MM-dd_HH-mm-ss-fff}"
사용자 지정 형식 지정자 y (연도), M (월), d (일), h (12시), H (24시), m (분), s (초), f (초 분수), F가 있습니다. (두 번째 분수, 후행 0이 잘림), t (PM 또는 AM) 및 z (시간대).
연장 방법으로
용법:
string result = "myfile.txt".AppendTimeStamp();
//myfile20130604234625642.txt
연장 방법
public static class MyExtensions
{
public static string AppendTimeStamp(this string fileName)
{
return string.Concat(
Path.GetFileNameWithoutExtension(fileName),
DateTime.Now.ToString("yyyyMMddHHmmssfff"),
Path.GetExtension(fileName)
);
}
}
다음을 선호합니다.
string result = "myFile_" + DateTime.Now.ToFileTime() + ".txt";
ToFileTime ()은 무엇을합니까?
현재 DateTime 개체의 값을 Windows 파일 시간으로 변환합니다.
public long ToFileTime()
Windows 파일 시간은 1601 AD (CE) 협정 세계시 (UTC) 1 월 1 일 자정 12시 이후 경과 한 100 나노초 간격의 수를 나타내는 64 비트 값입니다. Windows는 파일 시간을 사용하여 응용 프로그램이 파일을 생성, 액세스 또는 쓸 때 기록합니다.
현재 날짜 및 시간의 경우 파일 시스템에있는 파일의 이름입니다. 이제 string.Format 메서드를 호출하고 DateTime.Now와 결합하여 날짜 및 시간에 따라 올바른 문자열을 출력합니다.
using System;
using System.IO;
class Program
{
static void Main()
{
//
// Write file containing the date with BIN extension
//
string n = string.Format("text-{0:yyyy-MM-dd_hh-mm-ss-tt}.bin",
DateTime.Now);
File.WriteAllText(n, "abc");
}
}
출력 :
C:\Users\Fez\Documents\text-2020-01-08_05-23-13-PM.bin
"text-{0:yyyy-MM-dd_hh-mm-ss-tt}.bin"
text- 필요한 출력 파일의 첫 부분은 모두 텍스트로 시작합니다.
{0 : 문자열 자리 표시 자임을 나타냅니다. 0은 여기에 삽입 된 매개 변수의 색인을 나타냅니다.
yyyy- 연도를 4 자리 숫자와 대시로 인쇄합니다. "year 10000"문제가 있습니다.
MM- 월을 두 자리로 인쇄합니다.
dd_ 밑줄이 뒤에 오는 두 자리 숫자로 날짜를 인쇄합니다.
hh- 시간을 두 자리로 인쇄합니다.
mm- 분도 두 자리로 인쇄합니다.
ss- 예상대로 초를 인쇄합니다.
tt 시간에 따라 AM 또는 PM을 인쇄합니다.
Path.GetDirectoryName(fileName)
파일의 전체 경로를 가져 오기 위해 추가 했습니다. 그리고 교체string.Concat()
로Path.Combine()
가져 오기 전체 파일 이름.