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 <bob.c.f...@intel.com>
Cc: Liming Gao <liming....@intel.com>
Cc: Leif Lindholm <leif.lindh...@linaro.org>
Signed-off-by: Chasel Chiu <chasel.c...@intel.com>
---
 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.<BR>
+#
+#  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


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#45601): https://edk2.groups.io/g/devel/message/45601
Mute This Topic: https://groups.io/mt/32862249/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to