在vb里,如何将日期加减,得出天数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在vb里,如何将日期加减,得出天数?相关的知识,希望对你有一定的参考价值。

例如:
用“2007-6-17”-“date”

其中被减数是一个日期,而减数是今天的日期。

不胜感激!

其实vb提供了一个计算两个日期相差的函数datediff,

在实际应用之中我们可以进行日期相减运算,但是vb推荐的还是

使用vb自己提供的内部函数为好!

一个例子:

Private Sub Command1_Click()
Dim days As Integer
Dim data1 As Date
Dim data2 As Date

data1 = #2/21/2006# 'O2 / 21 / 2006
data2 = #3/21/2006#
days = DateDiff("d", data1, data2)
Text1.Text = Str(days)

End Sub
参考技术A 如果只是取得天数的话,可以直接相减,如:
Msgbox CDate("2007-06-17") - CDate("2007-01-17")
参考技术B Dim rishu As Integer = DateDiff("d", ri1, today) 参考技术C 日期运算符与日期表达式
日期表达式是用日期运算符“+”或“-”用算数表达式、日期型常量、日期型变量、日期函数等连接起来的式子。有一下三种运算方式:
①两个日期型数据相减,其结果是一个数值型数据(相差的天数)
②日期型数据加上天数,其结果为一个日期型数据
③日期型数据减去天数,其结果为一个日期型数据

Js日期加减(天数),时间加减,日期运算,可直接调用

根据传入的日期做加减法计算,整数为加法,负数为减法,但是是天。

 num可传入: 1,2,3,-1,-2,-3等,默认是加一天;date可传入: 2017-01-01格式的,不传的话默认是当天日期。

 

function dateChange(num = 1,date = false) {
  if (!date) {
    date = new Date();//没有传入值时,默认是当前日期
    date = date.getFullYear() + ‘-‘ + (date.getMonth() + 1) + ‘-‘ + date.getDate();
  }
  date += " 00:00:00";//设置为当天凌晨12点
  date = Date.parse(new Date(date))/1000;//转换为时间戳
  date += (86400) * num;//修改后的时间戳
  var newDate = new Date(parseInt(date) * 1000);//转换为时间
  return newDate.getFullYear() + ‘-‘ + (newDate.getMonth() + 1) + ‘-‘ + newDate.getDate();
}

调用结果:

1、dateChange();

  结果:

    技术分享

2、dateChange(30);

  结果:

    技术分享

3、dateChange(-10);

  结果:

    技术分享

4、dateChange(3, ‘2018-02-27‘);

  结果:

    技术分享

5、dateChange(-2, ‘2016-3-1‘);

  结果:

    技术分享

 











以上是关于在vb里,如何将日期加减,得出天数?的主要内容,如果未能解决你的问题,请参考以下文章

SQL请教大家一个日期的加减法

如何用js进行日期的加减

SQL语句问题(关于日期加减与字段加减)

Js日期加减(天数),时间加减,日期运算

js获取文本框的日期,并且进行加减,以得到另一个日期

Js日期加减(天数),时间加减,日期运算,可直接调用