|
Duane, Gary, Booth All of these would work if i were only worried about the month. I also have to worry about the day. I could get: 1/1/02 1/10/02 10/1/02 10/10/02 all of which need to be converted to an *iso date. which means i'm probably going to have to scan for slashes and substring it out. thanks anyway >>Duane said: Try this. Translate " " to "0" and then convert. Duane >>Gary said: d $CDate S D DATFMT(*ISO) c if %len(%trim(CBDATE)) = 7 c eval CBDATE = '0' + %trim(CBDATE) v endif c *mdy/ move CBDATE $CDate >>Booth said: Maybe define an 8-char field, then: C MOVE '00000000' Tmp8 C MOVE CBDATE Tmp8 Use Tmp8 for your existing calcs. Not neat and spiffy, but reliable and clear. I originally wrote: > > I'm trying to convert a date field from an ascii file to an rpg date data > type. > > The date coming in is an 8 byte alpha field in the format of mm/dd/yy BUT > when the month or the day is less than 10, it only serves one digit - > > i.e. 09/05/02 shows up as 9/5/02. I have no control over what this file > looks like when it arrives. > > I tried converting it using the following code: > > d $CDate S D DATFMT(*ISO) > > c *mdy/ move CBDATE $CDate > > but I get an error that '8/23/02 ' is an invalid date. > > short of searching for slashes and manipulating this alpha field with > substrings to extract the date, is there an easy way to convert these? > > thanks, > > Rick
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.