为了账号安全,请及时绑定邮箱和手机立即绑定

SPC-Light显示正常的日期与时间

标签:
SQL Server

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天。




点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消