blob: 1ea52bae0f0150ea717581822d4028341c63a183 [file] [log] [blame]
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_SCHEMA_ORG_COMMON_TIME_H_
#define COMPONENTS_SCHEMA_ORG_COMMON_TIME_H_
#include <string>
#include "base/component_export.h"
#include "base/time/time.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
namespace schema_org {
// Parses an ISO8601 duration string as defined in
// http://go/rfc/3339#appendix-A. Only parses hours, minutes, and seconds,
// particularly because there is no standard conversion from date units, such as
// a month to a time interval.
COMPONENT_EXPORT(SCHEMA_ORG_COMMON)
absl::optional<base::TimeDelta> ParseISO8601Duration(const std::string& str);
} // namespace schema_org
#endif // COMPONENTS_SCHEMA_ORG_COMMON_TIME_H_