From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: chasel.chiu@intel.com) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by groups.io with SMTP; Wed, 14 Aug 2019 03:21:17 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Aug 2019 03:21:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,384,1559545200"; d="scan'208";a="376683166" Received: from cchiu4-mobl1.gar.corp.intel.com ([10.5.215.130]) by fmsmga006.fm.intel.com with ESMTP; 14 Aug 2019 03:21:15 -0700 From: "Chiu, Chasel" To: devel@edk2.groups.io Cc: Bob Feng , Liming Gao , Leif Lindholm Subject: [PATCH v2] BaseTools/Scripts: Add GetUtcDateTime script. Date: Wed, 14 Aug 2019 18:21:06 +0800 Message-Id: <20190814102106.9236-1-chasel.chiu@intel.com> X-Mailer: git-send-email 2.13.3.windows.1 REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2067 A script that can return UTC date and time in ascii format which is convenient for patching build time information in any binary. Cc: Bob Feng Cc: Liming Gao Cc: Leif Lindholm Signed-off-by: Chasel Chiu --- BaseTools/Scripts/GetUtcDateTime.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/BaseTools/Scripts/GetUtcDateTime.py b/BaseTools/Scripts/GetUtcDateTime.py new file mode 100644 index 0000000000..3cfb6ac2ae --- /dev/null +++ b/BaseTools/Scripts/GetUtcDateTime.py @@ -0,0 +1,44 @@ +## @file +# Get current UTC date and time information and output as ascii code. +# +# Copyright (c) 2019, Intel Corporation. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +VersionNumber = '0.1' +import sys +import datetime +import argparse + +def Main(): + PARSER = argparse.ArgumentParser( + description='Retrieves UTC date and time information (output ordering: year, date, time) - Version ' + VersionNumber) + PARSER.add_argument('--year', + action='store_true', + help='Return UTC year of now. [Example output (2019): 39313032]') + PARSER.add_argument('--date', + action='store_true', + help='Return UTC date MMDD of now. [Example output (7th August): 37303830]') + PARSER.add_argument('--time', + action='store_true', + help='Return 24-hour-format UTC time HHMM of now. [Example output (14:25): 35323431]') + + ARGS = PARSER.parse_args() + if len(sys.argv) == 1: + print ("ERROR: At least one argument is required!\n") + PARSER.print_help() + + today = datetime.datetime.utcnow() + if ARGS.year: + ReversedNumber = str(today.year)[::-1] + print (''.join(hex(ord(HexString))[2:] for HexString in ReversedNumber)) + if ARGS.date: + ReversedNumber = str(today.strftime("%m%d"))[::-1] + print (''.join(hex(ord(HexString))[2:] for HexString in ReversedNumber)) + if ARGS.time: + ReversedNumber = str(today.strftime("%H%M"))[::-1] + print (''.join(hex(ord(HexString))[2:] for HexString in ReversedNumber)) + +if __name__ == '__main__': + Main() -- 2.13.3.windows.1