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);
}
}
相关文章:
- 有没有一种方法可以在three.js中自定义纹理之间的转换
- 如何在Ionic Framework中实现选项卡页面之间的转换
- UI 路由器 - 在状态之间转换时记住滚动位置
- v8::值到日期之间的转换
- 标签之间的内容转换为标题JS
- 为什么bxSlider会打断我在最后一张幻灯片和第一张幻灯片之间的转换
- JavaScript函数,用于在全宽度和半宽度形式之间转换UTF8字符串
- CSS Div 类之间的转换仅以一种方式发生
- jQuery/CSS在幻灯片之间的转换扰乱了位置:修复了幻灯片内部的性能
- 在两个视图之间来回转换
- 在 ng 重复的模型之间转换
- 图像大小与其base64字符串转换长度之间的比率是多少
- 如何在jquery-ui-datepicker和moment.js使用的日期格式之间转换
- 旧的LeftNav菜单样式和Reactjs的可组合菜单样式之间的材质ui转换
- 如何使用JMapProjLib、Proj4j或Proj4js在不同坐标系之间转换坐标
- 定义页面更改之间的返回转换
- 在 Javascript 中将任意字符串转换为 0 到 1 之间的数字
- 如何在AngularJS中使用$location.path重定向转换之间的动画
- 弱类型、自动装箱、扩展转换之间的区别是什么?
- 转换之间的html更改