DateTime



  • Hallo zusammen,
    ich habe folgendes Problem:
    Ich möchte einen Ordner mit dem aktuellen Datum erstellen lassen.
    Das müsste ja eigentlich mit DateTime gehen. Das Datum habe ich also. Aber wie bekomme ich das Datum als Ordnername? Ich kann dem Ordner jeden Namen verpassen aber das Datum geht einfach nicht. Das seltsame ist ich bekomme keine Fehlermeldung. Mein Programm erstellt einfach keinen Ordner, wenn ich DateTime als Ordnername verwenden möchte.
    Kann mir Jemand helfen?


  • Mod

    Wandle das Datum in einen String um.

    meineZeit.ToString();
    

    Ansonsten vermute ich mal das es hier um .NET geht.



  • Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Du solltest Dich auf ein einheitliches Format einigen, da die Formatierung von Datum/Uhrzeit Sprachabhängig ist!!!! Ich rate Dir zu

    DateTime::Now.ToString("o");
    


  • Keines der Vorschläge von euch läßt man bei mir zu.
    Ich habe es so probiert:
    [cpp]char DateTime[0x100];
    [cpp]string Datum;

    [cpp]Datum.ToString(DateTime);

    Kann mir Jemand helfen



  • Jochen Kalmbach schrieb:

    Ich rate Dir zu

    DateTime::Now.ToString("o");
    

    Damit lässt sich doch aber kein Ordner benennen?

    Immerhin ergibt das ja Beispielsweise "2008-10-01T17:04:32.0000000" und da wird das Betriebssystem meckern.

    Machs dir nicht so schwer.

    string sFolderName = DateTime::Now.ToString("yyyy-MM-dd");
    


  • Definieren von DateTime:
    [cpp]time_t t; time(&t);
    [cpp]char DateTime[0x100];
    [cpp]ctime_s(DateTime, 0x100, &t);
    Dann den Ordnername definieren mit dem Datum:
    [cpp]string sFolderName = DateTime.Now.ToString(\\"yyyy-MM-dd\\");
    Dann sagt er zu DateTime: Der Ausdruck muss einen Klassentyp aufweisen. Was mache ich Falsch?



  • In2 schrieb:

    time_t t; 
    time(&t); 
    char DateTime[0x100]; 
    ctime_s(DateTime, 0x100, &t);
    
    string sFolderName = DateTime.Now.ToString(\\\"yyyy-MM-dd\\\");
    

    Dann sagt er zu DateTime: Der Ausdruck muss einen Klassentyp aufweisen. Was mache ich Falsch?

    Grundlegende Frage, befindest du dich wirklich unter C++/Cli? / Übrigens hatte ich editiert. - Somit wäre korrekt:

    string sFolderName = DateTime::Now.ToString("yyyy-MM-dd");
    


  • Ich befinde mich im Visual Studio C++.



  • WAS für ein projekt hast Du angelegt?
    Geh mal in die Projekteinstellungen unter "Common" und sag mal, was da bei "Common Language Runtime Support" steht...

    Und falls da irgend etwas anderes als "No common language runtime" stehen sollte, dann lies bitte das hier:
    http://blog.kalmbach-software.de/de/2010/03/05/ccli-und-winforms-macht-keinen-sinn/



  • Ich habe die Vollversion und nicht die Expressversion von Visual Studio 2010.
    Das von mir definierte dateTime ist ein Array. Und Array scheint nicht zu gehen. Gibt es eine ganz einfache Methode wie ich Das Datum bekomme?



  • Ich vermute Du bist Verkäufer oder Politiker...

    Normale Leute lesen sich die Frage durch und antworten entsprechend...



  • Ich muss mich an dieser Stelle entschuldigen.
    Ich muss mein Problem näher beschreiben. Es geht darum, dass ich ein bestimmten Pfad anlegen möchte. In diesem Pfad wird ein Ordner erstellt, der als Name das Datum mit Zeitangabe haben soll.
    Ich arbeite mit Microsoft.Net Framework. In Visual C++.

    Ich habe es so mal probiert:

    time_t t;
    time(&t);
    char DateTime[0x32];	
    ctime_s(DateTime, 0x32, &t);
    path = "C:\\" + std::string(DateTime);
    _mkdir(path.c_str());
    

    Ich habe keine Fehlermeldungen. In der Variablen path steht das Datum mit dem Pfad drin.
    Aber der Ordner wird nicht erstellt.
    Gibt es eine andere Möglichkeit das Aktuelle Datum als Ordnername zu verwenden.



  • Nein, Du arbeitest mit C und C++ und STL.

    Wen Du mit .NET arbeiten würdest, dann würde das so aussehen:

    String^ dt = DateTime::Now.ToString("yyyy-MM-dd_HH-mm-ss");
    String^ path = System::IO::Path::Combine("C:\\", dt);
    System::IO::Directory::CreateDirectory(path);
    

Anmelden zum Antworten