qt - QDateTime Conversion -


i need convert string variable qdatetime format

my code looks

qstring date ="thu jun 18 2015"; qdatetime tmp = qdatetime::fromstring(date,"ddd mmm dd yyyy hh:mm:ss"); 

but result thu jan 1 00:00:00 1970.

later have convert date in foramt yyyy-mm-dd hh:mm:ss, first step have convert string in qdatetime have convert final format, there mistake above code?

any appreciated.

thanks haris

your date string not include time, while mentioned want one, fail @ least in qt 5.4 . don't know though why epoche outputed, maybe dependant on qt version.

your date format locale dependent. see example doucmentation "ddd" in qdatetime::fromstring:

the abbreviated localized day name (e.g. 'mon' 'sun'). uses qdate::shortdayname().

which unfortunately not clear, while more clear qdatetime::tostring:

the abbreviated localized day name (e.g. 'mon' 'sun'). uses system locale localize name, i.e. qlocale::system().

for example, in locale (german, austria) "ddd" thursday results in "do." different "thu" , makes impossible parse english abbrevations locale.

to ensure using correct locale when reading or writing locale dependent output use qlocale. in case qlocale::todatetime:

qlocale locale(qlocale::english, qlocale::unitedstates); qdatetime dt = locale.todatetime("jun 18 2015", "mmm dd yyyy"); 

then if want locale dependent output use qlocale::tostring.


Comments

Popular posts from this blog

PHP DOM loadHTML() method unusual warning -

python - How to create jsonb index using GIN on SQLAlchemy? -

c# - TransactionScope not rolling back although no complete() is called -