• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

得到4位表示 年份 的新方法?

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 19次 | 进入软件测试论坛讨论

领测软件测试网
400系統中,有下列三個系統參數值跟年月日,時分秒的表示相關,尤其是年份,跟其他系統中的表示方法不一樣,

[quote:906307d3bf]
QDATE          *DATTIM  System date
QDATFMT      *EDT     Date format
QCENTURY    *DATTIM  Century 
[/quote:906307d3bf]

其中,
QDATE表示系統時間 12/03/04   DD/MM/YY (或其他形式,都是六位)
QDATFMT 表示格式 DMY (MDY,YMD等等) 
QCENTURY  表示世紀碼,ibm這樣規定

[quote:906307d3bf]0=1928 - 1999
1=2000 - 2053[/quote:906307d3bf]
我也不清楚2053年後怎麼辦?

可是在我們實際應用中,大步份使用的是4位的年份表示方法,TVSYSVAL 指令僅可傳回 2 位數的年(如 97,98),用System API  QWCCVTDT可以緩解這個問題,如下:

[code:1:906307d3bf]PGM
DCL   &TODAY  *DEC  (8 0) /* TODAYS-DATE */    
DCL   &TODAYA *CHAR   (8) /* TODAYS-DATE */    
DCL   &TIME   *DEC  (6 0) /* CURRENT-TIME */   
DCL   &TIMEA  *CHAR   (6) /* CURRENT-TIME */   
DCL   &NEWDTE17 *CHAR  (17) /* STRING CONATAINING DATE &TIME */
                            /*傳回格式 YYYYMMDDHHMMSSXXX XXX MEANS MINISEC*/

CALL       PGM(QWCCVTDT) PARM('*CURRENT  ' ' ' +   
                              '*YYMD      ' &NEWDTE17 X'00000000')  

CHGVAR     VAR(&TODAY)  VALUE(%SST(&NEWDTE17 1 8))  /*數字年月日 YYYYMMDD */
CHGVAR     VAR(&TODAYA) VALUE(%SST(&NEWDTE17 1 8))  /*文字       YYYYMMDD */
CHGVAR     VAR(&TIME)   VALUE(%SST(&NEWDTE17 9 6))  /*數字時分秒 HHMMSS */
CHGVAR     VAR(&TIMEA)  VALUE(%SST(&NEWDTE17 9 6))  /*文字       HHMMSS */
SNDPGMMSG  MSG(&TODAYA *BCAT &TIMEA) MSGTYPE(*COMP)
ENDPFM[/code:1:906307d3bf]

 michael9406 回复于:2004-03-12 20:07:13
设为原创精华

 fzrxh 回复于:2004-03-13 16:29:48
用cvtdat会不会各更简单呢
CVTDAT     DATE(&DATE) TOVAR(&DATEX) FROMFMT(*JOB) +
             TOFMT(*YYMD) TOSEP(*NONE)   
在把 &DATEX(8位字符)给8位数字

 andrewleading_he 回复于:2004-03-15 08:59:13
[quote:4862ad6280="fzrxh"]用cvtdat会不会各更简单呢
CVTDAT     DATE(&DATE) TOVAR(&DATEX) FROMFMT(*JOB) +
             TOFMT(*YYMD) TOSEP(*NONE)   
在把 &DATEX(8位字符)给8位数字[/quote:4862ad6280]


感謝先,我再試一試!

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网