c脚本读取系统日期

代码如下:     

 #include "apdefap.h"
 char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
 {
 time_t  timer;
 struct  tm  *ptm;
 char  *p;
 time(&timer);
 ptm=localtime(&timer);
 p=SysMalloc(9);
 sprintf(p,"%02d:%02d:%02d",ptm->tm_mday,ptm->tm_mon,ptm->tm_year);
 return(p);
 }
 脚本运行后显示29:04:109
 高手解决一下

问题补充:
实际日期是2009年0529

最佳答案

在标准C/C++中,我们可通过tm结构来获得日期和时间,tm结构在time.h中的定义如下:

   #ifndef _TM_DEFINED
   struct tm {
        int tm_sec;    /* 秒 – 取值区间为[0,59] */
        int tm_min;    /* 分 - 取值区间为[0,59] */
        int tm_hour;    /* 时 - 取值区间为[0,23] */
        int tm_mday;    /* 一个月中的日期 - 取值区间为[1,31] */
        int tm_mon;    /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
        int tm_year;    /* 年份,其值等于实际年份减去1900 */
        int tm_wday;    /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */
        int tm_yday;    /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */
        int tm_isdst;    /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/
        };
   #define _TM_DEFINED
   #endif

   因此你要显示实际日期的话写成:
   sprintf(p,"%02d:%02d:%d",ptm->tm_mday,ptm->tm_mon+1,ptm->tm_year+1900);

   参考资料:
   http://blog.csdn.net/jsufcz/archive/2009/02/24/3931314.aspx
 

提问者对于答案的评价:
不错,程序执行的很好。谢了

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

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

相关推荐

  • XP系统能装 WinCC Flexible 2008 SP5吗

    想在XP系统上安装 WinCC Flexible 2008 SP5,点击安装后跳出一个界面,过几秒后界面消失,不继续安装,没有任何提示,也不…

    2021年7月5日
  • 显示未安装全部授权

    如图 图片说明:    钻石用户推荐最佳答案 下载个授权文件  全部安装就行了 图片说明:    提问者对于答案的评价:

    2021年7月5日
  • Wincc MODBUS RTU协议通讯协议

    现有一个项目用的以太网通讯,但有个设备是MODBUS RTU协议,我应该怎么弄,求大神指教谢谢了 问题补充:MODBUS TCP/IP通道怎么使用需要什么软件转…

    SIMATIC WinCC 2017年11月1日
  • 非法关机后项目无法打开

    我有一个项目,工控机非法关机之后,重新打开WINCC就提示无法加载该项目,但是WINCC可以打开该项目的备份文件。换了台工控机把项目复制过去以后也是这样,只要非法关机了,就再也打不…

    SIMATIC WinCC 2019年6月11日
  • 可否在WinCC里用一个变量指定数据记录的采集周期

    如标题所述,可否在WinCC里组态一个变量来实现动态修改变量记录的采集周期,而非系统指定的1秒,1分钟。我想随时可以更改采集周期 最佳答案 归档类型分周期/非周期对于周期归档,其采…

    SIMATIC WinCC 2020年11月1日
  • 西门子触摸屏的问题

    买了一个西门子的触摸屏,编程用的是试用版的wincc flexible;听说因为用的是试用版的wincc,触摸屏内的程序过段时间也不能正常使用了,请问大师是这样吗? 最佳…

    SIMATIC WinCC 2017年6月11日
  • CCLBMRTServer

    在WINCC里CCLBMRTServer.exe是用来干什么用的? 最佳答案 Runtime Server for Life Beat&nb…

    SIMATIC WinCC 2019年6月11日
  • 监控系统问题

    大家好   我们公司是做节能项目的,要做一个监控中心,采集全国的各地所做项目的如变频器之类的,一些状态参数、现场的实时图像、视频之类的数据,通过互联网…

    SIMATIC WinCC 2019年6月11日
  • WICC与S7-200通讯

    初学wicc和s7-200,我想在家用电脑上练习,不知如何通讯。电脑已装上wicc 6.0,s7-200、PC/PPI电缆齐全,各位老师请指教。谢 最佳答案 A.Micr…

    SIMATIC WinCC 2019年6月11日
  • WinCC 7.4 SP1内部变量保持的问题

    如题,WinCC 7.4 SP1内部变量字符串,我在变量属性里勾选了"运行系统保持",但是当电脑突然断电的时候再重新上电开机,发现字符串的值…

    SIMATIC WinCC 2021年7月5日