%char ( %date() : *iso ) will give 2000-02-09

Really? For some reason my iSeries thinks that it's 2005. Maybe it's broken.


and the separators will cause the %int to fail, or to evaluate the aritmetic expression.

That's why you code *ISO0 instead of *ISO. The zero tells it to suppress the date separators.


That's why I use a format without separators.

Me too. But, in my case, it's a 4-digit year, so I don't have to muck with the century.



Never try *iso 0, I may be wrong, but I remember reading that ISO had the separators mandatory. I'm still using V5.2.

No, you can code *ISO0 (or any date format followed by a zero) to suppress date separators. This feature has been around for at least a few releases.



It makes sense that the compiler will choose the proper format for the output when the function is called by another function. No separtors is obvious, but how does the compiler chooses the order? dmy? iso?

You specify it on the keyword. i.e. %char(blah: *ISO) will output in ISO format, %char(blah: *DMY) will output in DMY format. Likewise, in V5R3, %dec(mydate: *ISO) will output in ISO format, %dec(mydate: *DMY) will output in, you guessed it, DMY format.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2025 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.