>>Hi,
>>
>>Can you change the date from British to American using SET DATE command?
>>
>>For example, say you have a char column in a DBF like this:
>>14/10/2020
>>08/03/2012
>>16/2/2020
>>3/3/2010
>>all the above characters show the date in a British format. Note the above are not dates but char representation of a date.
>>Now I want to change them to American format (mm/dd/yyyy)
>>Can it be done without many SUBSTR()?
>>
>>TIA
>
>Dmitry, most probably you've already done this by now, but since you asked "without many SUBSTR()", two possible solutions
>
>
>CLEAR
>
>LOCAL ARRAY Source[1]
>LOCAL DateStr AS String
>
>ALINES(m.Source, "14/10/2020,08/03/2012,16/2/2020,3/3/2010", 0, ",")
>
>* using VFP functions
>
>FOR EACH m.DateStr IN m.Source
>
> ? m.DateStr, STREXTRACT(m.DateStr, "/", "/") + "/" + STREXTRACT(m.DateStr, "", "/") + STREXTRACT(m.DateStr, "/", "", 2, 4)
> ? m.DateStr, STUFF(m.DateStr, 1, AT("/", m.DateStr, 2) - 1, STREXTRACT(m.DateStr, "/", "/") + "/" + STREXTRACT(m.DateStr, "", "/"))
> ?
>
>ENDFOR
>
>* using Regular Expressions
>
>LOCAL Regx AS VBScript.RegExp
>
>m.Regx = CREATEOBJECT("VBScript.RegExp")
>
>m.Regx.Pattern = "([0-9]+)/([0-9]+)/([0-9]+)"
>
>FOR EACH m.DateStr IN m.Source
>
> ? m.DateStr, m.Regx.Replace(m.DateStr, "$2/$1/$3")
>
>ENDFOR
>
Hi Antonio,
Yes, I have already converted the string of euro dates to the American dates.
Your approach, I am sure, is very interesting. And I will print and "study" it. One thing I admit, I don't understand is how the Regular Expression feature works (in any language). This is something I will need to work on before completely understanding your approach.
Thank you.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham