but sometimes it's not stable...not work for all possible existing format, anyway i didn't found smilar script in our forum, is there any simple and stable way to convert date like this? thanks! in the attachment example i want to convert B3 B4 B5 B6 B7 to 20180201
Code: Select all
leaveDate := objExcel.Range("B" A_index+2).Value
IfInString, leaveDate, /
{
StringLeft, checkvar, leaveDate, 4
if (checkvar="2018")
{
StringTrimLeft, f2, leaveDate, 6
StringLeft, f3, f2, 1
if (f3="/")
{
year := SubStr(leaveDate, 1, 4)
month := "0" . SubStr(leaveDate, 6, 1)
date := SubStr(leaveDate, 8, 2)
formattedTime := year . month . date
}
else
{
year := SubStr(leaveDate, 1, 4)
month := SubStr(leaveDate, 6, 2)
date := SubStr(leaveDate, 9, 2)
}
}
else
{
year := "20" . SubStr(leaveDate, 1, 2)
month := SubStr(leaveDate, 3, 2)
date := SubStr(leaveDate, 5, 3)
formattedTime := year . month . date
StringTrimLeft, f2, formattedTime, 6
StringLeft, f3, f2, 1
if (f3="/")
{
year := "20" . SubStr(leaveDate, 1, 2)
month := "0" . SubStr(leaveDate, 4, 1)
date := SubStr(leaveDate, 6, 2)
formattedTime := year . month . date
}
else
{
year := "20" . SubStr(leaveDate, 1, 2)
month := SubStr(leaveDate, 4, 2)
date := SubStr(leaveDate, 7, 2)
formattedTime := year . month . date
}
}