none
Format für SetCreationTime und SetLastWriteTime RRS feed

  • Frage

  • Hallo Leute,

    ich bitte um Eure Hilfe.

    Es existierten hier Strings mit Datum und Uhrzeit im Format z.B. "2012-05-12 - 22'45'36".
    Wie kann ich diese so umwandeln, dass ich damit SetCreationTime etc. neu setzen kann?

    Dim fileTime As DateTime
    fileTime = ???
    File.SetCreationTime(sgPath_Target & sFilename_New, fileTime)
    File.SetLastWriteTime(sgPath_Target & sFilename_New, fileTime)

    Vielen Dank für Eure Mühe.
    LG Wedilo

    Sonntag, 20. Mai 2012 18:03

Antworten

Alle Antworten

  • Hallo Wedilo,

    code:

    Dim fileTime As DateTime = DateTime.Now

    Gruss Ellen


    Ich benutze/ I'm using VB2008 & VB2010


    • Als Antwort markiert Wedilo Montag, 21. Mai 2012 04:32
    • Tag als Antwort aufgehoben Wedilo Montag, 21. Mai 2012 04:32
    • Bearbeitet Ellen Ramcke Mittwoch, 13. Juni 2012 19:21
    Sonntag, 20. Mai 2012 18:16
  • Hallo Ellen,

    vielen Dank für Deine Antwort.

    Mit "Dim fileTime As DateTime = DateTime.Now" habe ich in fileTime das aktuelle Datum mit Uhrzeit.

    Es existieren hier Dateien mit dem Namen z.B. "2012-05-12 - 22'45'36.txt".

    Ich lese die Datum/Zeit Information aus diese Dateinamen ein und möchte damit die Werte für "Erstellt" (SetCreationTime) und "Geändert am" (SetLastWriteTime) in der Datei neu setzen.

    Ich weiß nur leider nicht, wie ich diese Datum/Zeit Information umwandeln muss um sie an die Methoden zu übergeben.

    Dim fileTime As DateTime
    fileTime = "2012-05-12 - 22'45'36" funktioniert leider nicht
    File.SetCreationTime(sgPath_Target & sFilename_New, fileTime)
    File.SetLastWriteTime(sgPath_Target & sFilename_New, fileTime)

    Liebe Grüße

    Wedilo

    Montag, 21. Mai 2012 04:46
  • Hallo W

    im Prinzip wäre hier anwendbar:

    DateTime.Parse Method
    http://msdn.microsoft.com/en-us/library/6fw7727c

    DateTime.ParseExact Method
    http://msdn.microsoft.com/en-us/library/system.datetime.parseexact.aspx

    aber dein Format "2012-05-12 - 22'45'36" ist vermutlich keines der üblichen:

    Standard Date and Time Format Strings
    http://msdn.microsoft.com/en-us/library/az4se3k1

    daher ggf:

    Custom Date and Time Format Strings
    http://msdn.microsoft.com/en-us/library/8kb3ddd4

    Montag, 21. Mai 2012 04:54
  • Hallo Wedilo,

    da hast Du aber ein unglückliches Format gewählt. Der string muss erst vorab formatiert werden, damit dieser sich wieder in DateTime Objekt parsen lässt.

    hier der code:

           Dim dateString, format, inputdate As String
            Dim result As DateTime
            Dim cultureDE As System.Globalization.CultureInfo
            format = "yyyy-MM-DD - HH'MM'SS"
            inputdate = "2012-05-12 - 22'45'36"
            dateString = String.Format("{0}.{1}.{2} {3}:{4}:{5}", _
                        inputdate.Substring(8, 2), _
                        inputdate.Substring(5, 2), _
                        inputdate.Substring(0, 4), _
                        inputdate.Substring(13, 2), _
                        inputdate.Substring(16, 2), _
                        inputdate.Substring(19, 2))
            cultureDE = System.Globalization.CultureInfo.CreateSpecificCulture("de-DE")
            result = DateTime.Parse(dateString, cultureDE)

    Hat vielleicht noch jemand eine Lösung unter Verwdendung von string format als IFormatprovider?

    Gruss Ellen


    Ich benutze/ I'm using VB2008 & VB2010


    Montag, 21. Mai 2012 06:30
  • Hallo Zusammen,

    es tut mir leid, die Photos wurden mir alle in diesem Namensformat geliefert.

    Vielen Dank an Euch, es hat super geklappt mit dem neu formatieren. Ich war zuerst nur so ängstlich wegen dem AM/PM.

    Nochmal recht herzlichen Dank für Eure tolle und schnelle Hilfe! :-D

    Lg Wedilo

    Montag, 21. Mai 2012 13:41