十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1.可以用DateDiff函数,返回值表示两个指定日期间的时间间隔。
创新互联专注于复兴企业网站建设,响应式网站设计,商城网站制作。复兴网站建设公司,为复兴等地区提供建站服务。全流程按需策划设计,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
2.也可以把两个日期直接相减:
a = Now - CDate("2014-1-1") '2014年1月1日到今天,共这么多天。
b = CDate("2014-3-1") - CDate("2014-1-1") '2014年1月1日到2014年3月1日,共这么多天。
vb的函数是强大的,闰年和平年它自己会处理,无需担心。
追问:
那需要什么控件,能详细说一下吗
回答:
不需要任何控件呢,是系统自带的函数呢,你写到代码里面试试就可以了。
你稍等,我给你写代码:
'窗体弄一个按钮Command1,加入以下代码,你试试看:
Private Sub Command1_Click()
Dim a As Long
Dim b As Long
a = Now - CDate("2014-1-1")'2014年1月1日到今天,共这么多天。
b = CDate("2014-3-1") - CDate("2014-1-1")'2014年1月1日到2014年3月1日,共这么多天。
Print "2014年1月1日到今天,共" a "天。"
Print "2014年1月1日到2014年3月1日,共" b "天。"
End Sub
通过函数获得。
主要是通过time.Now()函数和time.AddDate函数以及time.Date()函数来构造和加减日期,获取一年所有的周日。
楼主,java.util.Date有方法getTime()得到是相对的毫秒时间。。。两个Date变量的getTime()相减,得到是毫秒的差,再除60*60*1000,就是小时的差了。
首先这个具体日期是和这个时间应该是一一对应的关系,下周三应该有一个具体的数据和日期一一对应,比如说下周三是今年的具体的第几天,然后就可以计算出当时的日期了。比如:
// 2022年第一天
day := time.Date(2022, 1, 1, 0, 0, 0, 0, time.Local)
// 2022年的第304天
days := 304
// 2022年第304天的日期
expectedDay := day.Add(time.Duration(days*24*3600) * time.Second)
// 这一天是星期几
fmt.Println(expectedDay.Weekday())
// 这一天的日期
fmt.Println(expectedDay.Date())
如果有用到AddDate的,有三条建议:
不要用AddDate对月进行加减操作
不要用AddDate对月进行加减操作
不要用AddDate对月进行加减操作
有一个需求需要对传入的时间减去一个月,拿到上一个月的年月(如:2006-01),再进行操作。
那么就: str := date.AddDate(0,-1,0).Format("2006-01") 很完美的样子。
2018-05-30 加一个月变成了2018-07-01。
看一下官方文档:
AddDate会将结果规范化,类似Date函数的做法。因此,举个例子,给时间点October 31添加一个月,会生成时间点December 1。(从时间点November 31规范化而来)
所以当你给month加 1,day 是不会变的。5-31变成 6-31,最后转化为 7-1。
所以大家在用任何官方、非官方的接口,都一定要仔细阅读接口文档呀,不然很容易出问题。
一定要慎用AddDate,尤其是对年和月直接进行加减操作的。