【问题标题】:How to Visual c++ like javascript date? [closed]如何像 javascript 日期一样使用 Visual c++? [关闭]
【发布时间】:2016-09-30 19:14:27
【问题描述】:

Visual c++ 之类的 Javascrit (new Date()).getTime() 函数? 函数返回 (1475262776012) 毫秒。

【问题讨论】:

  • 你能描述更多吗?
  • 需要 Javascript (Visual c++ 中的新 Date()).getTime() 函数
  • 我看到你是新来的所以最好知道如何提问READ THIS 否则人们会给你负面声誉,它会阻止你问更多
  • 看起来像你那里的unix时间戳,hoss。 Use std::time
  • 也是 C++ unix 时间戳返回长度 10。javascript 也是 13。为什么?谢谢。

标签: javascript c++ date


【解决方案1】:

根据 w3schools 和其他更可靠的来源,getTime 返回自 Unix 纪元以来的毫秒数。基本的 C 和 C++ 计时,time_t 以秒为单位运行。

现代 C++ 方法是利用 chrono library

#include <iostream>
#include <chrono>
int main()
{
    using namespace std::chrono; // just to shorten the namespacing

    //get the current time in highest possible precision
    auto cur_time = high_resolution_clock::now();

    //get the distance between now and the start of unix time 
    auto unixtime = cur_time.time_since_epoch();

    // convert to milliseconds
    auto unixtime_in_ms = duration_cast<milliseconds>(unixtime);

    // convert to a number and output
    std::cout << unixtime_in_ms.count();
}

如果你愿意,大部分可以缩短成这个丑陋的单行:

auto unixtime_in_ms = duration_cast<milliseconds>(high_resolution_clock::now().time_since_epoch()).count();

【讨论】:

  • 请不要引用 w3schools,该网站充满了错误。将 ECMA-262 用于规范性参考(例如Date.prototype.getTime)或MDN,其中适合示例和进一步解释。
  • @RobG 伙计,你不能再相信 nuthin 了。不过谢谢。会记住这一点。我认为 ECMA 链接几乎是 HTML 格式的标准文档?
  • ECMA 链接是ECMAScript 的 语言标准。 ;-)
  • 有道理。似乎在 PDF 之类的静态文件中找不到它。
  • 可以在ECMA International 网站上找到PDF or HTML
猜你喜欢
  • 2015-07-19
  • 1970-01-01
  • 2014-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-18
  • 1970-01-01
相关资源
最近更新 更多