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

相关推荐

  • wincc变量关联

    怎样将wincc里面的两个变量关联起来?如:变量a为1时,变量b为1000;变量a为0时,变量b为0 最佳答案 wincc vbs全局脚本:dim mytagm…

    SIMATIC WinCC 2017年6月7日
  • 怎么实现WinCC经由串口直接连接MODBUS仪表

    系统需要增加一套仪表,仪表采用RS485接口的MODBUS协议,由于现场布线的原因,无法直接连到PLC,但连到中控室很方便.现在的想法是在中控计算机增加一块RS232转RS485的…

    SIMATIC WinCC 2019年6月11日
  • WINCCWebUX支持广域网吗

    局域网内用电脑和手机都能浏览,可是切换到广域网就连不上了,是不是本身不支持广域网? 最佳答案 1、转帖:可以。以下两个方法任选一个:、   &nbsp…

    SIMATIC WinCC 2021年7月5日
  • 如何在博图WinCC中脚本使用

    1)如何在博图WinCC中通过脚本程序实现,I/O域中的PLC过程值数更改,从而取反一个PLC中BOOL量?谢谢2)博图WinCC 中变量的事件中,为什么显示 …

    2021年7月5日
  • 在Wincc中如何快速找到画面中的对象?

    在Wincc项目中如何能搜索到画面中的对象,比如某个按钮,某个文本框,前提是我不知道他在哪个画面中,不知道Wincc有没有这个功能? 问题补充:Wincc里交叉参考好像也只能搜到C…

    SIMATIC WinCC 2021年7月5日
  • 为什么项目文件夹会自动共享

    为什么项目在激活运行后,项目文件夹会自动共享?有什么作用? 最佳答案 1。WinCC项目在激活运行后,项目文件夹被WinCC系统自动加上共享属性,目的是项目文件夹能通过联网的其它W…

    SIMATIC WinCC 2019年6月11日
  • WINCC 报警自动复位问题

    WINCC 报警做好了,当有故障变量触发的时候,报警会响,但是当报警变量复位的时候报警不会自动复位,还在继续报警,会导致电脑音箱一直在播放报警声音,只有手动确认后,报警才…

    2021年7月5日
  • wincc采集plc的信息问题

    请问有经验的朋友们,wincc采集信号的周期假设是最快的(有变化时)能够百分百捕捉到plc的信号一个脉冲吗?假如程序变量A的一个脉冲是信号的是变量B数据采集时间,变量A这里只有一个…

    SIMATIC WinCC 2020年11月1日
  • vbs给最高位赋值

    我定义了一个32无符号双字(例md20,对应名称tag),想给其中位赋值,比我  HMIRuntime.Tags("tag").Write&…

    SIMATIC WinCC 2019年6月11日
  • wincc flexible无法集成到step7

    在wincc flexible中选择集成到STEP7,但是step7中找不到HMI站点,这是什么原因来?应该怎么修改啊?要不要重装我wincc.我用的是STEP7&nbs…

    SIMATIC WinCC 2017年8月26日