# Date `Napi::Date` class is a representation of the JavaScript `Date` object. The `Napi::Date` class inherits its behavior from the `Napi::Value` class (for more info see [`Napi::Value`](value.md)). ## Methods ### Constructor Creates a new _empty_ instance of a `Napi::Date` object. ```cpp Napi::Date::Date(); ``` Creates a new _non-empty_ instance of a `Napi::Date` object. ```cpp Napi::Date::Date(napi_env env, napi_value value); ``` - `[in] env`: The environment in which to construct the `Napi::Date` object. - `[in] value`: The `napi_value` which is a handle for a JavaScript `Date`. ### New Creates a new instance of a `Napi::Date` object. ```cpp static Napi::Date Napi::Date::New(Napi::Env env, double value); ``` - `[in] env`: The environment in which to construct the `Napi::Date` object. - `[in] value`: The time value the JavaScript `Date` will contain represented as the number of milliseconds since 1 January 1970 00:00:00 UTC. Returns a new instance of `Napi::Date` object. ### ValueOf ```cpp double Napi::Date::ValueOf() const; ``` Returns the time value as `double` primitive represented as the number of milliseconds since 1 January 1970 00:00:00 UTC. ## Operators ### operator double Converts a `Napi::Date` value to a `double` primitive. ```cpp Napi::Date::operator double() const; ``` ### Example The following shows an example of casting a `Napi::Date` value to a `double` primitive. ```cpp double operatorVal = Napi::Date::New(Env(), 0); // Napi::Date to double // or auto instanceVal = info[0].As().ValueOf(); ```