MST

星途 面试题库

面试题:Visual Basic中获取本周第一天日期的实现

在Visual Basic中,要求编写一段代码获取当前所在周的第一天(假设一周从周日开始)的日期,并以标准日期格式显示。说明用到的日期与时间函数及其作用。
19.5万 热度难度
编程语言Visual Basic

知识考点

AI 面试

面试题答案

一键面试

在Visual Basic中,可以使用以下代码获取当前所在周的第一天(假设一周从周日开始)的日期,并以标准日期格式显示:

Dim currentDate As Date
Dim firstDayOfWeek As Date
currentDate = Date
firstDayOfWeek = DateAdd("d", -(Weekday(currentDate, vbSunday) - 1), currentDate)
MsgBox Format(firstDayOfWeek, "yyyy - mm - dd")

用到的日期与时间函数及其作用

  1. Date函数:返回当前系统日期。在上述代码中,currentDate = Date 获取了当前的系统日期,并赋值给 currentDate 变量。
  2. Weekday函数:返回一个Variant (Integer),包含一个整数,代表某个日期是星期几。语法为 Weekday(date, [firstdayofweek]),其中 date 为必要参数,是一个能够表示日期的Variant、数值表达式、字符串表达式或它们的组合。firstdayofweek 为可选参数,指定一星期的第一天是哪一天,若省略则以 vbSunday 为第一天。在上述代码中,Weekday(currentDate, vbSunday) 返回当前日期在以周日为第一天的一周中的序号。
  3. DateAdd函数:返回一个包含已添加指定时间间隔的日期的Variant (Date)。语法为 DateAdd(interval, number, date)interval 是必要参数,是一个字符串表达式,指定要添加的时间间隔;number 是必要参数,是一个数值表达式,指定要添加的时间间隔的数目;date 是必要参数,是一个Variant (Date) 或表示日期的文字,这一日期还加上了时间间隔。在上述代码中,DateAdd("d", -(Weekday(currentDate, vbSunday) - 1), currentDate) 通过计算当前日期距离本周日(一周的第一天)的天数差值,并将其从当前日期中减去,从而得到本周的第一天的日期。
  4. Format函数:返回Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。语法为 Format(expression, [format, [firstdayofweek, [firstweekofyear]]]),在上述代码中,Format(firstDayOfWeek, "yyyy - mm - dd") 将获取到的本周第一天的日期按照指定的标准日期格式 "yyyy - mm - dd" 进行格式化并返回。