blob: b8b42966908fb47e696f01a2709bb9a90f2bd448 [file] [log] [blame]
James Robinson646469d2014-10-03 15:33:28 -07001// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "base/build_time.h"
6
7#include "base/logging.h"
8#include "base/time/time.h"
9
10namespace base {
11
12Time GetBuildTime() {
13 Time integral_build_time;
14 // The format of __DATE__ and __TIME__ is specified by the ANSI C Standard,
15 // section 6.8.8.
16 //
17 // __DATE__ is exactly "Mmm DD YYYY".
18 // __TIME__ is exactly "hh:mm:ss".
James Robinson74f9f1f2014-11-04 11:17:49 -080019#if defined(DONT_EMBED_BUILD_METADATA) && !defined(OFFICIAL_BUILD)
James Robinsond4531882014-10-17 16:14:32 -070020 const char kDateTime[] = "Sep 02 2008 08:00:00 PST";
21#else
James Robinson646469d2014-10-03 15:33:28 -070022 const char kDateTime[] = __DATE__ " " __TIME__ " PST";
James Robinsond4531882014-10-17 16:14:32 -070023#endif
James Robinson646469d2014-10-03 15:33:28 -070024 bool result = Time::FromString(kDateTime, &integral_build_time);
25 DCHECK(result);
26 return integral_build_time;
27}
28
29} // namespace base