Page 1 of 1

*DATETIME

Posted: Fri Sep 20, 2019 10:39 am
by soa
I have a variable

Define Field(#dtavl) Type(*DATETIME) Length(19)

I want to set the date and time portions

This sets the date

#dtavl := #CATGRPCL.AsDate( CCYYMMDD )

but this sets the time and but turns the date back to 1900-01-02

#dtavl := #WRK6N0.AsTime( HHMMSS )

How do I set both parts?

I want to build two datetimes so I can compare them without spanning midnight etcetera

Cheers
Jim

Re: *DATETIME

Posted: Fri Sep 20, 2019 12:21 pm
by MarkD
You haven't said what type CATGRPCL and WRK6N0 are, but hazarding a guess, this seems to work:

Code: Select all

Define Field(#dtavl) Type(*DATETIME) Length(19)
Define Field(#CATGRPCL) Type(*CHAR) Length(8) Default('20190920')
Define Field(#WRK6N0) Type(*CHAR) Length(6) Default('131415')
Define Field(#YYYYMMDDHHMMSS) Type(*CHAR) Length(14)

#YYYYMMDDHHMMSS := #CATGRPCL + #WRK6N0

#dtavl := #YYYYMMDDHHMMSS.AsDateTime( CCYYMMDDHHMMSS )

#Sys_web.Alert Caption(#dtavl.AsDisplayString)

Re: *DATETIME

Posted: Fri Sep 20, 2019 3:02 pm
by soa
Looks good,
thanks Mark