从整数中提取日期部分

时间:2013-12-04 14:01:40

标签: c++ date

我无法在任何地方找到它,但它对我来说很有用,所以我想我会发布它。

给定日期的整数ISO表示,提取年/月/日。

为什么我需要这个?因为我们有使用这个int表示的库并且转换为boost :: gregorian_date会导致性能问题。在任何地方存储都是一个较小的结构,似乎更快(在我们的特定情况下)。

void iso_date_to_parts(const int iso_date) {
    const int year = date / 10000;
    const int month = (date / 100) % 100;
    const int day = date % 100;
}

希望有人会发现它很有用。我不认为有更有效的方法(可能使用scanf?)

修改 iso日期表示为20131204。 问题是“我如何以最有效的方式从这个整数表示中提取年/月/日部分”

用例: 只在代码中需要日级分辨率,而boost :: gregorian或struct_tm的空间和时间效率低下

0 个答案:

没有答案