@@ -4049,7 +4049,8 @@ def modify_datetime(data_set):
40494049
40504050 data = None
40514051 var_name = None
4052- date_format = None
4052+ current_format = None
4053+ target_format = None
40534054
40544055 fields = ["years" , "months" , "days" , "hours" , "minutes" , "seconds" ]
40554056
@@ -4095,12 +4096,17 @@ def perform_mod(op, val, t):
40954096 return t
40964097
40974098 for left ,mid ,right in data_set :
4098- if "format" in left :
4099- date_format = right
4099+ if "current format" == left .lower ():
4100+ current_format = right
4101+ if "target format" == left .lower ():
4102+ target_format = right
41004103
4101- if date_format :
4104+ if current_format :
41024105 if os .name == "nt" :
4103- date_format = date_format .replace ("%-d" , "%#d" ).replace ("%-m" , "%#m" ).replace ("%-H" , "%#H" ).replace ("%-I" , "%#I" ).replace ("%-M" , "%#M" ).replace ("%-S" , "%#S" ).replace ("%-j" , "%#j" )
4106+ current_format = current_format .replace ("%-d" , "%#d" ).replace ("%-m" , "%#m" ).replace ("%-H" , "%#H" ).replace ("%-I" , "%#I" ).replace ("%-M" , "%#M" ).replace ("%-S" , "%#S" ).replace ("%-j" , "%#j" )
4107+ else :
4108+ CommonUtil .ExecLog (sModuleInfo , "current format parameter is not provided" ,3 )
4109+ return CommonUtil .Exception_Handler (sys .exc_info ())
41044110
41054111 for left , mid , right in data_set :
41064112 left = left .strip ().lower ()
@@ -4110,9 +4116,9 @@ def perform_mod(op, val, t):
41104116 elif right .strip ().lower () in ("monday" ,"tuesday" ,"wednesday" ,"thursday" ,"friday" ,"saturday" ,"sunday" ):
41114117 data = parser .parse (right .strip ())
41124118 else :
4113- if date_format :
4114- _date_format = date_format .replace ("%-" ,"%" ).replace ("%#" ,"%" )
4115- data = datetime .strptime (right .strip (),_date_format )
4119+ if current_format :
4120+ _current_format = current_format .replace ("%-" ,"%" ).replace ("%#" ,"%" )
4121+ data = datetime .strptime (right .strip (),_current_format )
41164122 else :
41174123 data = parser .parse (right .strip ())
41184124 continue
@@ -4124,10 +4130,11 @@ def perform_mod(op, val, t):
41244130 if left in fields :
41254131 data = perform_mod (left , right , data )
41264132
4127- if date_format :
4128- data = data .strftime (date_format )
4133+ if target_format :
4134+ # Convert the datetime object to a new format string
4135+ data = data .strftime (target_format )
41294136 else :
4130- data = str ( data )
4137+ data = data . strftime ( _current_format )
41314138
41324139 CommonUtil .ExecLog (sModuleInfo , "Modified datetime. New value: %s" % data , 1 )
41334140 return sr .Set_Shared_Variables (var_name , data )
0 commit comments