파일 이름에 타임 스탬프 추가
동일한 디렉토리에 동일한 파일의 여러 버전을 갖고 싶은 여러 번이 문제가 발생했습니다. C #을 사용하여 수행 한 방식은 다음과 같이 파일 이름에 타임 스탬프를 추가하는 것 DateTime.Now.ToString().Replace('/', '-').Replace(':', '.')
입니다. 더 좋은 방법이 있습니까?
DateTime.ToString 메서드 (문자열)를 사용할 수 있습니다.
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 년 1 월 1 일 자정 (UTC) 협정 세계시 (UTC) 이후 경과 한 100 나노초 간격의 수를 나타내는 64 비트 값입니다. Windows는 파일 시간을 사용하여 응용 프로그램에서 파일을 만들거나 액세스하거나 쓸 때 기록합니다.
출처 : MSDN 설명서-DateTime.ToFileTime 메서드
아마도 DateTime.Now.Ticks
대신에 추가 하는 것은 3 개의 문자열을 만들지 않고 틱 값도 항상 고유하기 때문에 조금 더 빠릅니다.
당신이 사용할 수있는:
Stopwatch.GetTimestamp();
대신 아래를 사용할 수 있습니다.
DateTime.Now.Ticks
참고 URL : https://stackoverflow.com/questions/7898392/append-timestamp-to-a-file-name
'program tip' 카테고리의 다른 글
jade 템플릿 파일에서 스크립트 파일로 변수를 전달하는 방법은 무엇입니까? (0) | 2020.07.28 |
---|---|
부울을 기준으로 AngularJS에서 ng-show를 어떻게 전환합니까? (0) | 2020.07.28 |
JavaScript 배열 스플 라이스 및 슬라이스 (0) | 2020.07.28 |
자바 스크립트에서 기기 너비를 가져옵니다. (0) | 2020.07.28 |
업로드하기 전에 이미지 미리보기 표시 (0) | 2020.07.28 |