我无法在任何地方找到它,但它对我来说很有用,所以我想我会发布它。
给定日期的整数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的空间和时间效率低下