winCC系统信息的日期格式转换

我在winCC的系统信息中建立一个日期变量和时间变量。可是日期格式没有我所需要的,我想将日期格式转换为YYYY-MM-DD。通过修改控制面板的日期格式没有效果。通过C脚本想将日期值取出去后,和时间变量构成一个日期时间格式,日期和时间之间用空格隔开。但用遍了C的字符串函数也没有实现,请教高手如何实现。我想要的是C脚本或不便携代码的方法,不考虑通过VB脚本实现的方法。

问题补充:
我想得到的是如何将系统信息的日期格式转换为我需要的格式。即由MM-DD-YYYY转换为YYYY-MM-DD格式,使用除VB脚本以外的方法,如C脚本或其它方法。满的方式通过C的sprintf函数可以转换为字符串格式,但这不是我需要的。

最佳答案

楼主很明显在曲线救国,呵呵。
 我一向不太喜欢C脚本的字符串操作,太麻烦,不过利用正则表达式却可以很好的解决该问题,示范脚本如下:

 #define GetObject GetObject
 char*szStr = "4-16-2009";  //MM-DD-YYYY
 __object* pRegExp;
 char szRet[255];
 sprintf(szRet,"%s",szStr);
 pRegExp=__object_create("VBScript.RegExp");
 pRegExp->Global = TRUE;
 pRegExp->IgnoreCase=TRUE;
 pRegExp->Pattern = "([0-9].*)-([0-9].*)-([0-9].*)";
 if ((int)pRegExp->Test(szRet)==-1)
 {
 sprintf(szRet,"%s",(char*)pRegExp->Replace(szRet,"$3-$1-$2"));
 }
 __object_delete(pRegExp);
 printf("\r\n%s",szRet);

提问者对于答案的评价:
很特别的方法,学习啦。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc273874.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐