2017-04-08 1 views
0

실행 다음과 같은 코드를 포함하고라는 이름의 바탕 화면에 텍스트 파일을 가지고보아야한다 MyLogFile 08.04.2017StreamWriter를 텍스트 파일의 이름은 시간, 분, 초

Dim Log As System.IO.StreamWriter 
    Log = My.Computer.FileSystem.OpenTextFileWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\MyLogFile " & System.DateTime.Now.Date.ToString("dd/MM/yyyy") & ".txt", False) 
    Log.WriteLine("Hello") 
    Log.Close() 

나는 MyLogFile 08.04.2017에서 MyLogFile 08.04.2017 07:50:59에 파일 이름을 변경을 원했다 그러나 그것은이다 :은 허용되지 않으므로 불가능합니다.

이제 파일 이름을 MyLogFile 08.04.2017에서 MyLogFile 08.04.2017 07.50.59으로 변경하고 싶습니다.

답변

0

당신은 할 수 :

Dim Folder As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) 
Dim FileName As String = "MyLogFile " & DateTime.Now.ToString("dd.MM.yyyy HH.mm.ss") & ".txt" 
Dim Log As System.IO.StreamWriter 
Log = My.Computer.FileSystem.OpenTextFileWriter(System.IO.Path.Combine(Folder, FileName), False) 
Log.WriteLine("Hello") 
Log.Close() 
+0

이 코드 아침 시간 쇼'실행하면 07'. 이 코드를 실행하면 저녁 시간대에 다시 '07'이 표시됩니다. 그러나 나는 '07'아침, '19' 저녁을 원합니다. 가능한? –

+0

예,'hh'를'HH'로 변경하십시오. [사용자 정의 날짜 및 시간 형식 문자열] (https://docs.microsoft.com/en-us/dotnet/articles/standard/base-types/custom-date-and-time-format-strings?view=netframework- 4.7). –

+0

고맙습니다. –

3

파일과 폴더 이름에 날짜와 시간을 포함시킬 때 가장 중요한 것부터 중요하지 않은 것으로 이동하는 것이 좋습니다. 그 이유는 알파벳 순서와 연대 순서가 일치하기 때문입니다. 개인적으로, 내가 할 수있는 모든 그래서에서 분리를 사용하지 않는 : 당신이 정말 후 사용자가 원하는 방식으로 작업을 수행하려면

Log = My.Computer.FileSystem.OpenTextFileWriter(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), 
                  String.Format("MyLogFile.{0:yyyyMMddHHmmss}.txt", 
                      Date.Now), 
               False) 

은 다음과 같습니다

Log = My.Computer.FileSystem.OpenTextFileWriter(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), 
                  String.Format("MyLogFile {0:dd.MM.yyyy HH.mm.ss}.txt", 
                      Date.Now), 
               False) 

당신은 단순히 같은 형식 지정자를 변경 필요합니다.