在Wt C ++中格式化微秒

时间:2016-10-26 15:26:13

标签: c++

在C ++ Wt或Qt库中格式化微秒的最佳方法是什么。我试过这个,“yyyy-mm-ddThh:mm:ss.ffffff”,但是我无法得到1753-01-01T00:00:02的最后一个十进制值。 000004

此致 Ansif

1 个答案:

答案 0 :(得分:1)

Ansif,你能不能只使用:

WString value = myDate.toString("yyyy-MM-ddTHH:MM:ss");

double microsecond = ...; // get the microsecond from myDate somehow

然后像这样追加微秒:

WString myDate2 = WString("{1}.{2}").arg(myDate).arg(microsecond); 

由于Wt的精度仅为毫秒的三位小数,因此您必须自己将微秒部分添加到六位小数并将其转换为std :: string,std :: stringstream或WString()if我理解正确。

如果使用std :: stringstream将微秒转换为std :: string,则std :: setw,std :: setfill,std :: fixed和std :: setprecision可能有助于填充" 000004"微秒。