加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

QDateTime时区的获取方法

发布时间:2020-12-13 17:53:17 所属栏目:百科 来源:网络整理
导读:#include QCoreApplication #include QDateTime #include stdlib.h #include iostream // helper functions QString getTimezoneDiff( QDateTime dt ); int main(int argc,char *argv[]) { QCoreApplication app(argc,argv); QDateTime localDate = QDateTim

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

// helper functions
QString getTimezoneDiff( QDateTime dt );

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

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

QString diffStr;
diffStr = getTimezoneDiff( localDate );

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() );

return 0;
}


/**
* 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 ) {

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;

// is it a positive offset?if (offset>=0) {tzDiff = "+" + tzDiff.setNum(offset);;}elsetzDiff.setNum(offset);return tzDiff;}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读