zoukankan      html  css  js  c++  java
  • SPC-Light显示正常的日期与时间

    SPC-Light的日期值与时间值显示正常的日期与时间。在读取到它的日期值:

    得到的结果,如41633

    读取时间:

    得到的结果如0.556678240740741

    要把它们显示正常的日期与时间格式。在VB.NET中,显示日期使用使用Date.FromOADate()方法。

    Dim d As Object = app.DDERequest(spcl, "Date(" & j & ")")(1)
    Console.WriteLine(Date.FromOADate(d))


    而时间呢,可以使用TimeSpan.FromDays()方法:

    Dim t As Object = app.DDERequest(spcl, "Time(" & j & ")")(1)
    Console.WriteLine(TimeSpan.FromDays(t))


    如果把这两个值,传至SQL Server 2012之后,再转换,你可以使用CAST来实现,如:

    @D = CAST(CAST(CAST([Date] AS decimal(18,0)) - 2 AS datetime) AS DATE),
    @T = CAST(CAST(CAST([Time] AS decimal(18,15)) AS datetime) AS TIME)


    日期与时间转换方法均一样,把值转换为DATETIME,然后再转为DATE或是TIME。看到否,日期为何要减去2? 因为SQL的日期计算与SPC-Light(MS Access,Excel等)不一样。SQL的日期是以1900-01-01开始,它计算为0天,而SPC-Light计算为1天。另外1900年不是闰年,SQL Server识别到,而SPC-Light识别不了,错把它当作闰年1900-02-29(这是一个不存在的日期)来计算,所以转换出来的日期比会SPC-Light多2天,因此因这两个原因需减去这2天。




  • 相关阅读:
    MFC菜单、工具栏和状态栏
    MFC控件
    MFC对话框
    MFC消息映射机制
    性能优化可使用的工具
    常见的内存问题分析思路
    k8s之Probe
    docker swarm
    keepalived配置虚拟ip(vip)实现双机热备以及自动切换主备
    linux安装openjdk1.8
  • 原文地址:https://www.cnblogs.com/insus/p/3492561.html
Copyright © 2011-2022 走看看