This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FR5962:MSP430中的mktime()不是基于1970

Guru**** 2386460 points
Other Parts Discussed in Thread: MSP430FR5964
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1090502/msp430fr5962-mktime-in-msp430-is-not-1970-based

部件号:MSP430FR5962
主题中讨论的其他部件:MSP430FR5964

各位专家,您好!

我的客户有一款使用MSP430FR5964. mktime()的产品,但它不能按预期工作。
是否是一个规范来设置与1900相关的值,是否带有或不带有"__TI_TIME_Uses_64"定义? 如何使用它以1970为基础?

[详情如下]

e2e.ti.com/.../mktime.c

请参阅"表7-1. 与21.6 v.0.LTS用户指南中__time32_t和__time64_t"的区别,我假定如果定义了“__TI_TIME_USS_64”,则将从1970年开始进行处理。 但是,如上所述,似乎mktime()需要使用基于1900年的参数进行设置,无论是否使用“__TI_TIME_Uses_64”定义。 在实际开发中,编译器使用的是18.1 v.0 LTS,但使用v.21.6 0 LTS获得的结果相同。 我们希望确认上述结果是否符合预期。 如果它们如预期的那样,如果您能告诉我们如何使它们基于1970年,将会很有帮助。

请告知我们是否缺少用法或信息。

此致,
还不错

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,O.H:

    让我来看看这个库函数。  我看到有一个单独的time64.c,它的定义为#define _TIME64_implementation。

    Dennis

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨,O.H,

    我必须联系我们的软件团队寻求帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Dennis San

    感谢您将我们与SW团队联系起来。 我们期待收到更多信息。

    此致,
    还不错

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    C和C++的标准指定struct TM类型的TM_year字段定义为自1900年以来的年数。  这是真实的,而不考虑所使用的时代。

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,George,

    感谢您的回复。  请允许我确认这一点。 以下想法是否正确?

    • 将"struct TM"(本例中为t.tm_year)作为参数的函数(如mktime())始终需要基于1900的参数。
    • 将"time_t"(在这种情况下为计时器)作为参数的函数,如localtime(),如果未定义"__TI_time_uses_64",则需要基于1900的参数;如果定义了"__TI_time_uses_64",则需要基于1970的参数。

    此致,
    还不错

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您的理解基本上是正确的。  我认为,如果你阅读 这篇较旧的论坛帖子,就会更加清楚

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的支持。 我明白了。

    此致,
    还不错