Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Change date from British to American?
Message
 
 
To
09/07/2021 03:27:06
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01681748
Message ID:
01681762
Views:
45
>>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
Previous
Reply
Map
View

Click here to load this message in the networking platform