QDateTime时区的获取方法

前端之家收集整理的这篇文章主要介绍了QDateTime时区的获取方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

#include <QCoreApplication>
#include <QDateTime>
#include <stdlib.h>
#include <iostream>@H_403_4@

// helper functions
QString getTimezoneDiff( QDateTime dt );@H_403_4@

int main(int argc,char *argv[])
{
QCoreApplication app(argc,argv);@H_403_4@

QDateTime localDate = QDateTime::fromString("2009-07-11 16:53:00","yyyy-MM-dd hh:mm:ss");@H_403_4@

QString diffStr;
diffStr = getTimezoneDiff( localDate );@H_403_4@

printf ("Local Date: %s/r/n",localDate.toString().toLatin1().data() );
//printf ("UTC Date: %s/r/n",utcTime.toLatin1().data() );
printf ("Offset : %s/r/n",diffStr.toLatin1().data() );@H_403_4@

return 0;
}@H_403_4@


/**
* QString getTimezoneDiff( QDateTime dt )
* @param dt well formated date time (YYYY-MM-DD hh:mm:ss)
* @return tzDiff (<+->hhmm)
*
* Purpose: return a timezone offset string to Feed to Postgresql
*/
QString getTimezoneDiff( QDateTime dt ) {@H_403_4@

QString localdt = dt.toString ( "hhmm" );// get the local time part from the @param
QString utcDT = dt.toUTC().toString ( "hhmm" );// get the UTC time part from the @param
QString tzDiff;// this will hold the returned timezone diff.
qint8 hhmmdt = localdt.toInt();
qint8 hhmmUTC= utcDT.toInt();
qint8 offset = hhmmdt - hhmmUTC;@H_403_4@

// is it a positive offset?if (offset>=0) {tzDiff = "+" + tzDiff.setNum(offset);;}elsetzDiff.setNum(offset);return tzDiff;}@H_403_4@ 原文链接:https://www.f2er.com/postgresql/196985.html

猜你在找的Postgre SQL相关文章