gpt4 book ai didi

javascript - v8::value 到 date 之间的转换

转载 作者:行者123 更新时间:2023-11-30 05:28:34 26 4
gpt4 key购买 nike

我正在使用 nan 在 v8 上编写 C++ 插件。构造函数的参数之一是 Date 类型。 IsDate 返回 true,但我不知道如何将它转换为 C++ 日期对象以获得年月日等。

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 值转换为日期对象功能。

从那里您可以使用 NumberValue 提取自 Unix 纪元(1970 年 1 月 1 日)以来的毫秒数。功能。

然后将此数字转换为 std::time_t对象通过类型转换秒数static_cast<time_t>(millisSinceEpoch/1000)

来自time_t得到一个struct *tmlocaltime功能。

然后最后提取日/月/年值:

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);
}
}

关于javascript - v8::value 到 date 之间的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36755788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com