我正在尝试生成一个包含毫秒值的 MDEntryTime。一旦进入消息,毫秒就会被丢弃。经过进一步检查,我在 Field.h 中发现了这个小宝石
显式 UtcTimeOnlyField(int 字段,const UtcTimeOnly& 数据,bool showMilliseconds = false)
MDEntryTime 的构造函数不允许编码器设置 showMilliseconds=true。人们如何解决这个问题?
我正在尝试生成一个包含毫秒值的 MDEntryTime。一旦进入消息,毫秒就会被丢弃。经过进一步检查,我在 Field.h 中发现了这个小宝石
显式 UtcTimeOnlyField(int 字段,const UtcTimeOnly& 数据,bool showMilliseconds = false)
MDEntryTime 的构造函数不允许编码器设置 showMilliseconds=true。人们如何解决这个问题?
这个对我有用。我做了一个方法来确保 UtcTimeOnly 中存在毫秒:
FIX::UtcTimeOnly getTimeMillis()
{
timeval tv;
gettimeofday(&tv, NULL);
return FIX::UtcTimeOnly(tv.tv_sec, tv.tv_usec / 1000);
}
然后,我这样设置字段:
msg.setField(FIX::UtcTimeOnlyField(FIX::FIELD::MDEntryTime, getTimeMillis(), true));
MDEntryTime 的构造函数不允许编码器设置 showMilliseconds=true。
事实上,确实如此。以下内容应该适合您:
msg.set(FIX::MDEntryTime(FIX::UtcTimeOnly(time(NULL), true)));