Meta.cpp 1.2 KB
Newer Older
X
Xu Peng 已提交
1 2 3 4 5
/*******************************************************************************
 * Copyright 上海赜睿信息科技有限公司(Zilliz) - All Rights Reserved
 * Unauthorized copying of this file, via any medium is strictly prohibited.
 * Proprietary and confidential.
 ******************************************************************************/
X
Xu Peng 已提交
6 7
#include "Meta.h"

8
#include <ctime>
9
#include <stdio.h>
X
Xu Peng 已提交
10 11

namespace zilliz {
J
jinhai 已提交
12
namespace milvus {
X
Xu Peng 已提交
13
namespace engine {
14
namespace meta {
X
Xu Peng 已提交
15

16 17
Meta::~Meta() = default;

X
Xu Peng 已提交
18
DateT Meta::GetDate(const std::time_t& t, int day_delta) {
19 20
    struct tm ltm;
    localtime_r(&t, &ltm);
X
Xu Peng 已提交
21 22
    if (day_delta > 0) {
        do {
23
            ++ltm.tm_mday;
X
Xu Peng 已提交
24 25
            --day_delta;
        } while(day_delta > 0);
26
        mktime(&ltm);
X
Xu Peng 已提交
27 28
    } else if (day_delta < 0) {
        do {
29
            --ltm.tm_mday;
X
Xu Peng 已提交
30 31
            ++day_delta;
        } while(day_delta < 0);
32
        mktime(&ltm);
X
Xu Peng 已提交
33
    } else {
34
        ltm.tm_mday;
X
Xu Peng 已提交
35
    }
36
    return ltm.tm_year*10000 + ltm.tm_mon*100 + ltm.tm_mday;
37
}
X
Xu Peng 已提交
38

X
Xu Peng 已提交
39
DateT Meta::GetDateWithDelta(int day_delta) {
X
Xu Peng 已提交
40
    return GetDate(std::time(nullptr), day_delta);
41 42
}

X
Xu Peng 已提交
43 44 45 46
DateT Meta::GetDate() {
    return GetDate(std::time(nullptr), 0);
}

47
} // namespace meta
X
Xu Peng 已提交
48
} // namespace engine
J
jinhai 已提交
49
} // namespace milvus
X
Xu Peng 已提交
50
} // namespace zilliz