由於經常從.csv或.txt文件讀取這樣的字符串,我想知道獲取%d/%m%/%y
(或任何其他類似格式)字符串並將其轉換爲適合於QuantLib::Date
對象constructor的內容。將日期std :: string轉換爲QuantLib :: Date對象
這裏的下方示例代碼:
#include <ql/quantlib.hpp>
#include <boost/timer.hpp>
#include <iostream>
#include <iomanip>
#include <boost/algorithm/string.hpp>
int main() {
boost::timer timer;
std::cout << std::endl;
std::string datesString = {
",17/10/2014,21/11/2014,19/12/2014,20/03/2015,19/06/2015,18/09/2015,18/12/2015,17/06/2016,"
};
std::vector<std::string> expiryDates;
boost::split(expiryDates, datesString, boost::is_any_of(","));
for(int i = 0; i < expiryDates.size(); i++)
{
std::cout << expiryDates[i] << std::endl;
}
// 17/10/2014
// 21/11/2014
// 19/12/2014
// 20/03/2015
// 19/06/2015
// 18/09/2015
// 18/12/2015
// 17/06/2016
// QuantLib::Date myQLDate(?);
return 0;
}
*是*隱藏。 +1,適用於QuantLib文檔。 – 2014-10-11 00:52:35
是的。直到一兩年前,這個功能還是非常有限的(它只能解析一些特定的格式,比如ISO),所以它是有意隱藏的......現在它是完全通用的,它可能值得移植到' Date類(作爲構造函數接受兩個字符串,或者作爲輸入流的'operator <<')。這會讓它更容易被發現。 – 2014-10-13 10:42:47