1 // Copyright 2011 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef BASE_BUILD_TIME_H_ 6 #define BASE_BUILD_TIME_H_ 7 8 #include "base/generated_build_date.h" 9 #include "base/time/time.h" 10 11 namespace base { 12 13 // GetBuildTime returns the time at which the current binary was built, 14 // rounded down to 5:00:00am at the start of the day in UTC. 15 // 16 // This uses a generated file, which doesn't trigger a rebuild when the time 17 // changes. It will, however, be updated whenever //build/util/LASTCHANGE 18 // changes. 19 // 20 // This value should only be considered accurate to within a day. 21 // It will always be in the past. 22 // 23 // Note: If the build is not official (i.e. is_official_build = false) 24 // this time will be set to 5:00:00am on the most recent first Sunday 25 // of a month. GetBuildTime()26constexpr Time GetBuildTime() { 27 // BASE_GENERATED_BUILD_DATE_TIMESTAMP is a Unix timestamp value. See 28 // //base/write_build_date_header.py and //build/compute_build_timestamp.py 29 // for details. On non-official builds, this will be first Sunday of the month 30 // at 5:00am UTC. 31 return Time::FromTimeT(BASE_GENERATED_BUILD_DATE_TIMESTAMP); 32 } 33 34 } // namespace base 35 36 #endif // BASE_BUILD_TIME_H_ 37