gpt4 book ai didi

c++适当的函数返回类型来返回日期时间?

转载 作者:搜寻专家 更新时间:2023-10-31 01:17:38 27 4
gpt4 key购买 nike

来自 C# 的我编写一个可能具有 DateTime 作为返回类型(或参数)的类是很常见的。现在我正在用 C++ 编程。用作返回日期时间值的方法返回值的适当数据类型是什么(time_t,tm 结构,Boost.Date_Time,其他?)例如:

class Customer
{
...
? GetDateTimeCreated() const;
void SetLastContactDateTime(? date);
...
}

此外,接受日期/时间作为函数参数怎么样?

最佳答案

如果您正在编写一个库,并且日期时间值将通过 API 公开,那么我会使用 time_t这样库的用户就不会被迫使用 Boost。

正如所指出的,struct tm用于格式化 time_t .您通常不希望传递它们。

如果您的程序已经使用了 Boost,并且您喜欢 Boost.DateTime 的便利,那么一定要使用 Boost.DateTime。如果我没记错的话,boost::posix_time::ptime只是两个 64 位整数的包装器,因此它足够轻便,可以按值传递。

如果您正在使用 C++11 功能,那么您可能想要使用 std::chrono::time_point来自 <chrono> .如果您仍在使用 C++03,则可以使用 Boost.Chrono ,旨在实现 C++11 时间设施。通过使用 Boost.Chrono,您将来应该能够更轻松地切换到 C++11。 Chrono 没有 Boost.DateTime 那样多的功能,但它比普通的 time_t 进步了一步。 .

如果您需要亚秒级精度,那么 Boost.DateTime 或 Chrono 是最佳选择。

关于c++适当的函数返回类型来返回日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7935011/

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