v8::值到日期之间的转换
Conversion between v8::value to date
我正在使用nan在v8上编写C++插件。构造函数的参数之一是Date类型。IsDate返回true,但我不知道如何将其转换为C++Date对象以获取年、月、日等
void NodeObject::New(const Nan::FunctionCallbackInfo<v8::Value>& info) {
if(info[0]->IsDate()) {
//convert and get year, month and day
boost::gregorian::date d(2016 , 1 ,1);
double price = getPrice(date);
}
}
谢谢你的帮助!
您可以使用v8::Date::cast函数将v8 Value强制转换为Date对象。
从中,您可以使用NumberValue
函数提取自Unix epoch(1970年1月1日)以来的毫秒数。
然后通过投射秒数static_cast<time_t>(millisSinceEpoch/1000)
将该数字转换为std::time_t对象
从time_t
获取一个带有localtime函数的struct*tm。
然后最后提取日/月/年的值:
void NodeObject::New(const Nan::FunctionCallbackInfo<v8::Value>& info) {
if(info[0]->IsDate()) {
double millisSinceEpoch = v8::Date::Cast(*info[0])->NumberValue();
std::time_t t = static_cast<time_t>(millisSinceEpoch/1000);
struct tm* ltime = localtime(&t);
int year = ltime->tm_year + 1900;
int month = ltime->tm_mon + 1;
int day = ltime->tm_mday;
boost::gregorian::date d(year, month, day);
double price = getPrice(date);
}
}
相关文章:
- 构造函数和转换运算符之间的重载解析
- C ++中无符号位长度类型之间的隐式转换,即uint8_t,uint16_t
- 模板转换运算符在 clang 6 和 clang 7 之间的区别
- 派生类(构造函数具有参数)和基类(构造函数缺少参数)之间没有可行的转换
- Cxx.jl 在 Julia Complex 和 std::complex 之间进行转换
- 如何在 std::string 和 Aws::String 之间进行转换?
- 转换字符时Arduino DUE 和 Arduino UNO 之间的区别
- 如何使用静态多态性在 int 和指针类型之间进行转换?
- 指向 POD 类型的指针之间的静态转换与重新解释转换
- 在 Rcpp 中的字符串类型之间转换时出错
- 如何声明不同类型的模板化类之间的转换
- C 和 C++ 中的函数指针转换之间的差异
- 与浮点转换之间的规范化整数
- 重新解释强制转换和 C 样式转换之间的 C++ 区别
- C++ get 和类型转换之间的用法有什么区别?我应该使用哪一个?
- printf函数参数之间的序列点;转换之间的顺序点是否重要
- Clang和GCC中不明确基类转换之间的行为差异
- 转换之间的双和字节数组,为传输ZigBee API
- 隐式转换和显式转换之间的区别
- interpret_cast和C样式强制转换之间的区别是什么