datum und uhrzeit
-
ich habe vor mir ein logbuch zu schreiben allerdings brauche ich dafür datum und uhrzeit. meine frage also : wie hole ich mir von windows die zeit und das datum?
-
Wieso von Windows?
Das geht völlig portabel mit ganz verschiedenen Methoden. Siehe dir bspw. das primitivestd::time
undstd::local_time
, wenn du ein wenig weiter gehen möchtest, dann nimmst du Boost.Date_Time.
-
vielen dank
-
dass boost time hab ich nicht so verstanden ich möchte gerne einen string der heisst "date" und einen "time" wie mache ich dass?
-
#include <string> using std::string; int main() { string time; string date; }
Da hastes :>
-
WhileTrueDo schrieb:
dass boost time hab ich nicht so verstanden ich möchte gerne einen string der heisst "date" und einen "time" wie mache ich dass?
Naja, da ist ja das Problem, weswegen das kompliziert wird.
Der String time, enthält der so etwas wie "10:30pm" oder "22:30" oder "22 Uhr 30" oder "halb eins nachts" oder...
Und deshalb muss man da halt das Format angeben, was man haben will.
Aber für deine Zwecke, sollte das reichen: http://en.cppreference.com/w/cpp/chrono/c/asctime
-
es soll so aussehen :
[datum hier][uhrzeit hier] Notiz hier
[datum hier][uhrzeit hier] Notiz hier
[datum hier][uhrzeit hier] Notiz hier
[datum hier][uhrzeit hier] Notiz hierwie mache ich es denn standarrtmäsig dass ich bei dem "datum hier" und bei dem "uhrzeit hier" integers oder floats habe ?
-
Wie stellst du dir denn eine Uhrzeit oder ein Datum als Zahl vor?
Das ist schon ein string.
-
entweder "20:30" oder "20.30" oder igent sowas
-
Dann schau dir mal strftime an.
-
WhileTrueDo schrieb:
[datum hier][uhrzeit hier]
Hiermit kannst mal das aktuelle Datum+Uhrzeit ausgeben:
#include <iostream> #include <locale> #include <ctime> using namespace std; class date_time { private: time_t uhrzeit; tm datum_uhrzeit; ostream& stream; string format; public: date_time( ostream& os, const string& f ) : uhrzeit(time(NULL)), stream(os), format(f) { stream.imbue( locale("german") ); localtime_s( &datum_uhrzeit, &uhrzeit ); } void current_date_time() { const unsigned length = format.length(); const char* begin_format = format.data(); const char* end_format = begin_format + length; typedef time_put<char> tp; use_facet<tp>(stream.getloc()).put( tp::iter_type(stream), stream, stream.fill(), &datum_uhrzeit, begin_format, end_format ); } }; int main() { date_time dt( cout, "%x %H:%M" ); dt.current_date_time(); }
-
@out: Das geht auch direkter mit [url]
std::put_time
[/url].
-
Ich hasse es, nicht angemeldet zu sein.
-
Sone_logoff schrieb:
Ich hasse es, nicht angemeldet zu sein.
Dann meld dich an:D
-
WhileTrueDo schrieb:
es soll so aussehen :
[datum hier][uhrzeit hier] Notiz hier
[datum hier][uhrzeit hier] Notiz hier
[datum hier][uhrzeit hier] Notiz hier
[datum hier][uhrzeit hier] Notiz hierwie mache ich es denn standarrtmäsig dass ich bei dem "datum hier" und bei dem "uhrzeit hier" integers oder floats habe ?
Entweder so wie hier mit der facette std::time_put (suche nach 'time_put.h') oder mit C++11 mit std::put_time.