我在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