#include <string.h>
#include <cctype>
#include <cstdint>
#include <utility>
#include "absl/strings/match.h"
#include "absl/strings/string_view.h"
#include "absl/time/internal/cctz/include/cctz/time_zone.h"
#include "absl/time/time.h"
cctz;
namespace absl {
ABSL_NAMESPACE_BEGIN
ABSL_DLL extern const char RFC3339_full[] = …;
ABSL_DLL extern const char RFC3339_sec[] = …;
ABSL_DLL extern const char RFC1123_full[] = …;
ABSL_DLL extern const char RFC1123_no_wday[] = …;
namespace {
const char kInfiniteFutureStr[] = …;
const char kInfinitePastStr[] = …;
struct cctz_parts { … };
inline cctz::time_point<cctz::seconds> unix_epoch() { … }
cctz_parts Split(absl::Time t) { … }
absl::Time Join(const cctz_parts& parts) { … }
}
std::string FormatTime(absl::string_view format, absl::Time t,
absl::TimeZone tz) { … }
std::string FormatTime(absl::Time t, absl::TimeZone tz) { … }
std::string FormatTime(absl::Time t) { … }
bool ParseTime(absl::string_view format, absl::string_view input,
absl::Time* time, std::string* err) { … }
bool ParseTime(absl::string_view format, absl::string_view input,
absl::TimeZone tz, absl::Time* time, std::string* err) { … }
bool AbslParseFlag(absl::string_view text, absl::Time* t, std::string* error) { … }
std::string AbslUnparseFlag(absl::Time t) { … }
bool ParseFlag(const std::string& text, absl::Time* t, std::string* error) { … }
std::string UnparseFlag(absl::Time t) { … }
ABSL_NAMESPACE_END
}