字符串数字时间等之间转换
class Convert
{
public:
static std::string ToString(const QString &p_Str)
{
return p_Str.toLocal8Bit().data();
}
static QString ToQString(const int p_Str)
{
return QString::number(p_Str);
}
static std::string ToString(const int p_Str)
{
return Convert::ToString(QString::number(p_Str));
}
static QString ToQString(const std::string& p_Str)
{
return QString::fromLocal8Bit(p_Str.c_str());
}
static std::string ToString(const QDateTime &p_DateTime) // 把时间转化为数据库的存储格式
{
return ToString(p_DateTime.toString("yyyyMMddTHHmmss")); // ToString(ToQString(p_DateTime));
}
static int ToInt(const std::string& p_Str)
{
return std::atoi( p_Str.c_str() );
}
static QString ToQString(const QDateTime &p_DateTime) //时间转化为显示字符
{
return p_DateTime.toString(QString::fromLocal8Bit("yyyy-MM-dd HH:mm:ss"));
}
static QDateTime ToDateTimeFromDsp(const QString &p_Str) // 显示字符格式转化为时间
{
if(p_Str.isEmpty())
{
return QDateTime::fromString(QString::fromLocal8Bit("1900-01-01 00:00:00"), QString::fromLocal8Bit("yyyy-MM-dd HH:mm:ss"));
}
else
{
return QDateTime::fromString(p_Str,QString::fromLocal8Bit("yyyy-MM-dd HH:mm:ss"));
}
}
static QDateTime ToDateTimeFromDb(const std::string &p_Str) //数据库存放格式转化为时间
{
if(p_Str.empty())
{
return QDateTime::fromString(QString::fromLocal8Bit("1900-01-01 00:00:00"), QString::fromLocal8Bit("yyyy-MM-dd HH:mm:ss"));
}
else
{
return QDateTime::fromString(ToQString(p_Str),QString::fromLocal8Bit("yyyyMMddTHHmmss"));
}
}
};