Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Making CTOD() work in Europe
Message
From
17/11/2018 12:45:01
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01663465
Message ID:
01663492
Views:
59
>>>>>Hi,
>>>>>
>>>>>As I go through my program, I see many places where I convert a string to date, using CTOD(), hard-coded with MM/DD/YYYY. But if the date is (for example), British ("DD/MM/YYYY") it won't work.
>>>>>
>>>>>How do you suggest I change all places that use CTOD() from hard-coded use of American date system to another?
>>>>
>>>>You don't, the ctod() respects the set date format.
>>>>Unless you have date constants.
>>>
>>>I know that ctod() respects the set date format; but I didn't :). For example, I could have in my program:
>>>
>>>This.r_nFirstDay = DOW(CTOD(STR(This.r_nMonth,2,0)+"/01/"+STR(This.r_nYear,4,0)))
>>>
>>>The above will not work since when I have SET DATE to BRITISH, the string should be Date Month Year.
>>
>>You should have used dow(date(This.r_nYear, This.r_nMonth, 1)). Much simpler.
>
>This is why I asked the question. I will have to go through all my CTOD() cases and change them according to your suggestion (using date()). Thank you.
Dimitry,
this is an other to make use of Thor. Thor can show you all your ctod() in your projects in one grid, Thor even has an option to change all your e.g. DOW(CTOD(STR(This.r_nMonth,2,0)+"/01/"+STR(This.r_nYear,4,0))) into dow(date(This.r_nYear, This.r_nMonth, 1)) .
Although it works fine, it is a very good advise to backup first before you do an overall changement like that in your pjx
Rgds,
Koen
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform