Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以Wt C+格式格式化微秒+; 在C++ WT或QT库中,微秒格式的最佳方式是什么?我试着这样说,“yyyy-mm-ddThh:mm:ss.ffffff”,但我无法得到1753-01-01T00:00:02的最后一个十进制值。000004_C++ - Fatal编程技术网

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

以Wt C+格式格式化微秒+; 在C++ WT或QT库中,微秒格式的最佳方式是什么?我试着这样说,“yyyy-mm-ddThh:mm:ss.ffffff”,但我无法得到1753-01-01T00:00:02的最后一个十进制值。000004,c++,C++,问候 AnsifAnsif,你能不能不使用: 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的精度仅为毫秒小数点后三位,如果

问候
Ansif

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


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

您的输入是什么?你确定它有小数秒吗?你能举一个你试过的例子吗?这个答案可能有用(也可能没有):有人试过在Wt/C++工具包中使用WDateTime吗。您可以找到默认格式,如“yyyy-MM-dd-hh-MM-ss”。该格式最多显示秒。但是如果我们有1753-01-01T00:00:02.000004这样的值呢。最后一个值“000004”为微秒。我正在寻找一种适当的方法来格式化表中的值。