回复:通过当前年月日,计算得到7天前的年月日

已锁定

洐功

西门子1847工业学习平台

  • 帖子

    168
  • 精华

    0
  • 被关注

    3

论坛等级:侠客

注册时间:2018-05-18

黄金 黄金 如何晋级?

发布于 2023-09-06 08:31:17

5楼

FUNCTION_BLOCK FB_Date_Calculation

/* 输入 */

VAR_INPUT

    (* 系统时钟 *)

    System_Clock: DATE_AND_TIME;

END_VAR

/* 输出 */

VAR_OUTPUT

    (* 当天年月日 *)

    Current_Date: DATE;


    (* 7天前的年月日 *)

    Seven_Days_Ago: DATE;

END_VAR

/* 内部变量 */

VAR

    (* 7天的秒数 *)

    Seven_Days_Seconds: INT := 604800;

    

    (* 时间戳 *)

    Timestamp: TIME := 0;

    

    (* 日期时间结构体 *)

    DateTime_Struct: DATE_AND_TIME;

    

END_VAR

(* 主函数 *)

DateTime_Struct := System_Clock; // 获取系统时钟

/* 计算当前日期 */

Current_Date := DateTime_Struct.DATE;

/* 计算7天前的日期 */

Timestamp := DateTime_Struct.TICKS - Seven_Days_Seconds * SECOND_TO_TICKS; // 计算7天前的时间戳

DT_TO_TOD(Timestamp, DateTime_Struct); // 将时间戳转换为日期时间结构体

Seven_Days_Ago := DateTime_Struct.DATE; // 获取7天前的日期


END_FUNCTION_BLOCK

以上仅供参考

liu
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15648条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。