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

相关推荐

  • 怎么样把step7变量导入wincc

    怎么样把step7变量导入wincc中,变量太多了,一个一个建很麻烦 最佳答案 下载下面这个文档看看就没有问题了:http://ad.siemens.com.cn/download…

    SIMATIC WinCC 2019年6月11日
  • WINCC32位内存变量

    各位大师好,怎样使32位内存变量在0到3循环变化,而且能在实际工程中应用的 最佳答案 内部变量的话,那就使用全局脚本,根据你的需要设置周期循环执行(最快250ms执行一次)如果内部…

    SIMATIC WinCC 2021年7月5日
  • WINCC6.0趋势图

    我用的WINCC6.0 我在用趋势图的时候连接数据源应该是归档变量当然我也成功建立了正确的归档变量但是在趋势图  WINCC函数趋势控件的属性最上面有…

    SIMATIC WinCC 2019年6月11日
  • 通过WINCC+PLC来编制(设置参数,编制动作顺序)、保存以及运行工艺流程

    如何通过WINCC+PLC来编制(设置参数,编制动作顺序)、保存以及运行工艺流程, 最佳答案 1、设置参数,直接使用WINCC的IO域与PLC的地址相连就行了2、编制动作顺序什么意…

    SIMATIC WinCC 2020年11月1日
  • 变量归档新增变量问题

    各位大师求解,我在已有的wincc变量归档新增变量,打开时跳出一个对话框说变量记录组态系统已在另一台计算机上运行,计算机名为:ES1。变量记录页面上方写着:被ES1写保护,新变量无…

    SIMATIC WinCC 2017年6月10日
  • wincc7.3菜单工具栏制作的导航栏背景颜色更改

    项目主体色调为白蓝,采用wincc7.3左侧菜单和工具栏制作了项目导航菜单,但是其默认背景色为黑色,与主色调不搭,请问 需如何更改如图背景颜色。谢谢 图片说明: &nbs…

    2021年7月5日
  • 关于SetTagXXX函数?

    在wincc中,通过SetTagXXX()函数是不是可以为下位机PLC的地址赋值?比如用SetTagBit()函数为M0.0赋值? 问题补充:为什么大家都提示我注意脚本语法?能给个…

    SIMATIC WinCC 2019年6月11日
  • wincc7.3项目运行时怎么修改用户密码?

    wincc7.3项目运行中修改当前用户密码,输入旧密码,输入新密码,确认按钮。用脚本怎么实现?从网上找的看起来挺复杂。也没试成功 问题补充:客户要求可以更改密码,我见其他的软件也可…

    SIMATIC WinCC 2017年6月10日
  • Wincc选项组

    如图,wincc中的选项组都是竖向的,有可能横向么?谢谢! 最佳答案 https://www.ad.siemens.com.cn/service/ANSWER/solution.a…

    SIMATIC WinCC 2021年7月5日
  • WinCC V 7.5SP1通过OPC UA读取两维数组

    有一个项目,需要用WinCC通过OPC UA读取西门子SINUMERIK数控系统的NC变量,数控系统端全部设置完成,因为数控系统的NC变量有通道和轴之分,所以大部分NC变…

    2021年7月5日