sách gpt4 ai đã đi

(Chi tiết) Làm thế nào để tính toán thời gian từ kỷ nguyên 1900 đến hiện tại bằng cách sử dụng boost?

In lại 作者:行者123 更新时间:2023-12-02 10:26:15 27 4
mua khóa gpt4 Nike

作为标题,如何计算从纪元1900到现在使用boost的持续时间?

编辑:很抱歉以前的问题太短。我将再次描述我的问题。
我有关于将生日另存为整数的问题。我创建了四个函数,用法如下:

  • ptime转换为整数(按天):
     int ti=time_to_int(ptime(date(2012,1,1),0));
    => ti = 15430;//number of day from 1970 to 2012
  • 整数到ptime:
     ptime pt = int_to_time(15430);
  • ptime转换为字符串:
     ptime pt(date(2012,1,1), 0);
    string s = time_to_string(pt, "%d.%m.%Y");
  • 字符串转换为ptime:

    ptime pt = string_to_time(%d。%m。%Y);

  • câu hỏi:
    上面,我使用了1970年以来的时代,所有工作都做得很好。那么如何将01/01/1945转换为整数?我认为需要使用从1900年开始的时代。
    但是,当将01/01/2012从1900转换为int时,它返回负数,因为“我认为”滴答计数以毫秒为单位溢出(32位)。
    使用某些方法手动计算int的日期是可以的,但是将int转换回date似乎不好。我想使用升压来做到这一点。

    Có gợi ý nào không?
    Cảm ơn!

    1 Câu trả lời

    整数(int)不足以容纳自1900年以来的秒数。它只能容纳68年。您需要使用长(64位)。 Boost的time_duration将使您可以访问很长的秒数。您还可以使用@jogojapan提到的天数。但是,一天的长度并不总是相同的(23-25小时),因此有时跟踪一天中的事情更容易出错(但是如果小心的话,应该没问题)。

    看一看tài liệu中的一些示例。您可以减去两个ptime对象以获得time_duration:

    time_duration td = ptime1 - ptime2;
    long secElapsed = td.total_seconds();

    关于c++ - (详细)如何计算从时期1900到现在使用boost的持续时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13372988/

    27 4 0
    行者123
    Hồ sơ cá nhân

    Tôi là một lập trình viên xuất sắc, rất giỏi!

    Nhận phiếu giảm giá Didi Taxi miễn phí
    Mã giảm giá Didi Taxi
    Giấy chứng nhận ICP Bắc Kinh số 000000
    Hợp tác quảng cáo: 1813099741@qq.com 6ren.com