protobuf
src
google
protobuf
stubs
time.h
Go to the documentation of this file.
1
// Protocol Buffers - Google's data interchange format
2
// Copyright 2008 Google Inc. All rights reserved.
3
// https://developers.google.com/protocol-buffers/
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are
7
// met:
8
//
9
// * Redistributions of source code must retain the above copyright
10
// notice, this list of conditions and the following disclaimer.
11
// * Redistributions in binary form must reproduce the above
12
// copyright notice, this list of conditions and the following disclaimer
13
// in the documentation and/or other materials provided with the
14
// distribution.
15
// * Neither the name of Google Inc. nor the names of its
16
// contributors may be used to endorse or promote products derived from
17
// this software without specific prior written permission.
18
//
19
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
#ifndef GOOGLE_PROTOBUF_STUBS_TIME_H_
31
#define GOOGLE_PROTOBUF_STUBS_TIME_H_
32
33
#include <
google/protobuf/stubs/common.h
>
34
35
#include <google/protobuf/port_def.inc>
36
37
namespace
google
{
38
namespace
protobuf {
39
namespace
internal
{
40
41
struct
DateTime
{
42
int
year
;
43
int
month
;
44
int
day
;
45
int
hour
;
46
int
minute
;
47
int
second
;
48
};
49
50
// Converts a timestamp (seconds elapsed since 1970-01-01T00:00:00, could be
51
// negative to represent time before 1970-01-01) to DateTime. Returns false
52
// if the timestamp is not in the range between 0001-01-01T00:00:00 and
53
// 9999-12-31T23:59:59.
54
bool
PROTOBUF_EXPORT
SecondsToDateTime
(
int64
seconds,
DateTime
* time);
55
// Converts DateTime to a timestamp (seconds since 1970-01-01T00:00:00).
56
// Returns false if the DateTime is not valid or is not in the valid range.
57
bool
PROTOBUF_EXPORT
DateTimeToSeconds
(
const
DateTime
& time,
int64
* seconds);
58
59
void
PROTOBUF_EXPORT
GetCurrentTime
(
int64
* seconds,
int32
* nanos);
60
61
// Formats a time string in RFC3339 fromat.
62
//
63
// For example, "2015-05-20T13:29:35.120Z". For nanos, 0, 3, 6 or 9 fractional
64
// digits will be used depending on how many are required to represent the exact
65
// value.
66
//
67
// Note that "nanos" must in the range of [0, 999999999].
68
string
PROTOBUF_EXPORT
FormatTime
(
int64
seconds,
int32
nanos);
69
// Parses a time string. This method accepts RFC3339 date/time string with UTC
70
// offset. For example, "2015-05-20T13:29:35.120-08:00".
71
bool
PROTOBUF_EXPORT
ParseTime
(
const
string
&
value
,
int64
* seconds,
72
int32
* nanos);
73
74
}
// namespace internal
75
}
// namespace protobuf
76
}
// namespace google
77
78
#include <google/protobuf/port_undef.inc>
79
80
#endif // GOOGLE_PROTOBUF_STUBS_TIME_H_
google::protobuf.internal::DateTime
Definition:
time.h:41
google::protobuf::int64
int64_t int64
Definition:
protobuf/src/google/protobuf/stubs/port.h:151
google::protobuf.internal::DateTime::minute
int minute
Definition:
time.h:46
google::protobuf.internal::DateTime::month
int month
Definition:
time.h:43
google::protobuf.internal::DateTime::day
int day
Definition:
time.h:44
google::protobuf.internal::DateTime::year
int year
Definition:
time.h:42
google::protobuf.internal::DateTime::second
int second
Definition:
time.h:47
google::protobuf.internal::DateTime::hour
int hour
Definition:
time.h:45
google::protobuf::int32
int32_t int32
Definition:
protobuf/src/google/protobuf/stubs/port.h:150
google::protobuf.internal::GetCurrentTime
void GetCurrentTime(int64 *seconds, int32 *nanos)
Definition:
time.cc:264
google::protobuf.internal::DateTimeToSeconds
bool DateTimeToSeconds(const DateTime &time, int64 *seconds)
Definition:
time.cc:256
google::protobuf.internal::ParseTime
bool ParseTime(const string &value, int64 *seconds, int32 *nanos)
Definition:
time.cc:285
common.h
google::protobuf.internal::FormatTime
string FormatTime(int64 seconds, int32 nanos)
Definition:
time.cc:271
internal
Definition:
any.pb.h:40
value
GLsizei const GLfloat * value
Definition:
glcorearb.h:3093
google
Definition:
data_proto2_to_proto3_util.h:11
google::protobuf.internal::SecondsToDateTime
bool SecondsToDateTime(int64 seconds, DateTime *time)
Definition:
time.cc:211
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:07:00