같은 디렉터리에 같은 파일의 여러 버전이 있기를 원하는 여러 번이 문제가 발생했습니다. C#을 사용하여이 작업을 수행 한 방식은 파일 이름에 시간 스탬프를 추가하는 것과 같습니다.이 파일은 DateTime.Now.ToString().Replace('/', '-').Replace(':', '.')
과 같습니다. 더 좋은 방법이 있나요?파일 이름에 타임 스탬프 추가
답변
당신은 DateTime.ToString Method (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) 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)
);
}
}
아마 DateTime.Now.Ticks
을 추가하면 3 개의 문자열을 만들지 않으므로 조금 더 빠르며 틱 값도 항상 고유합니다.
내가 사용하는 것을 선호 :
string result = "myFile_" + DateTime.Now.ToFileTime() + ".txt";
ToFileTime()은 무엇을합니까?
현재 DateTime 개체의 값을 Windows 파일 시간으로 변환합니다.
public long ToFileTime()
윈도우 파일 시간이 자정 이후 경과 한 100 나노초 간격의 수 년 1 월 1 일 세계시 협정, 1601 AD (CE)을 나타내는 64 비트 값입니다 (UTC). Windows는 응용 프로그램에서 파일을 만들거나 액세스하거나 파일에 쓸 때 파일 시간을 사용하여 기록합니다.
당신이 사용할 수 있습니다
Stopwatch.GetTimestamp();
이 대답은 타임 스탬프를받는 방식입니다. Path 클래스를 사용하여 파일에 추가하면 문자열 조작이 전혀 문제가되지 않습니다. 이것은 DateTime.ToString Method (String) 또는 string.Format ("{0 : yyyy-MM-dd_hh-mm-ss-tt}"대신 DateTime.Now)에 대한 유일한 대안입니다. – Joseph
대신 아래에 사용할 수 있습니다 내가 추가 한
DateTime.Now.Ticks
- 1. Flash Media Server의 파일 이름에 타임 스탬프 추가
- 2. NSURL에 타임 스탬프 추가
- 3. 파일 이름 유닉스에 타임 스탬프
- 4. 디코딩 타임 스탬프 파일 이름에 명시 적으로 인코딩 된 타임 스탬프
- 5. 데이터베이스 테이블에 타임 스탬프 추가
- 6. Datatable에 타임 스탬프 열 추가
- 7. C++의 파일 타임 스탬프
- 8. 타임 스탬프 파일 이름 더하기 파일 확장자
- 9. 타임 스탬프
- 10. 로그 파일 이름에 타임 스탬프를 추가하는 방법
- 11. 그라디언트 테스트 출력에 타임 스탬프 추가
- 12. SQLite 테이블에 타임 스탬프 필드 추가
- 13. 타임 스탬프 형식 추가 17 시간
- 14. TCPREPLAY를 사용하여 패킷 페이로드에 타임 스탬프 추가
- 15. RIA 서비스의 타임 스탬프
- 16. 자바 체크 타임 타임 스탬프
- 17. PHP 주어진 타임 스탬프
- 18. VARCHAR2는 타임 스탬프
- 19. assetic의 동적 타임 스탬프?
- 20. Excel에 타임 스탬프 삽입하기
- 21. 저장된 파일 타임 스탬프 파일은 무엇입니까?
- 22. Google 워드 프로세서 업로드 파일 타임 스탬프
- 23. FTP 파일 목록에서 항목의 타임 스탬프 얻기
- 24. 파일 액세스/수정 타임 스탬프 읽기
- 25. S3 파일 최종 수정 타임 스탬프 확인
- 26. winapi - 비 감지 파일 타임 스탬프?
- 27. 유닉스 타임 스탬프
- 28. WP_Query의 타임 스탬프 비교
- 29. 유닉스 타임 스탬프와 파일 조작과 비슷한 윈도우상의 타임 스탬프
- 30. python, dpkt 및 타임 스탬프
'Path.GetDirectoryName (파일 이름)를'얻으려면 파일의 완전한 패스 그런 다음'string.Concat()'을'Path '로 대체했습니다.'()'는 전체 파일 이름을 얻습니다. – gilu