星期日~星期一分别是数字1 ~ 7。想要设置星期几,就设置对应的数字
Function setDayofWeek(num As Integer)
Dim mynow As Date = Now()
Dim nowWeekday As Integer = Weekday(mynow)
Console.WriteLine("" & nowWeekday)
setDayofWeek = DateAdd(DateInterval.Day, num - nowWeekday, mynow)
End Function
setDayofWeek(7)'设置成这个星期的星期六
求解一组日期的最大值
Function maxDate(dateArr As Object, len As Integer) As Date
Console.WriteLine("" & dateArr(0))
Dim myMax As Date
myMax = dateArr(0)
For i As Integer = 1 To len - 1
Dim diffValue As Long = DateDiff(DateInterval.Second, myMax, dateArr(i))
If diffValue > 0 Then
myMax = dateArr(i)
End If
Next
maxDate = myMax
End Function
Dim dateArr(1)
dateArr(0) = Now()
dateArr(1) = setSecond(59, Now())
maxDate(dateArr, 2)
求一组日期的最小值
Function minDate(dateArr As Object, len As Integer) As Date
Dim myMin As Date
myMin = dateArr(0)
For i As Integer = 1 To len - 1
Dim diffValue As Long = DateDiff(DateInterval.Second, myMin, dateArr(i))
If diffValue < 0 Then
myMin = dateArr(i)
End If
Next
minDate = myMin
End Function
DateAdd是增加日期,subtractDate是减少日期
Function subtractDate(Interval As DateInterval, Number As Double, DateValue As Date) As Date
Dim negetive As Double
negetive = Number * (-1)
subtractDate = DateAdd(Interval, negetive, DateValue)
End Function
一年的开始=今年一月一日,一月的开始=今年的这个月的1号一星期的开始=这个星期的星期一……
Function StartOf(Unit As String) As Date
Dim mydate As Date = Now()
Dim myyear As Integer = Year(mydate)
Dim mymonth As Integer = Month(mydate)
Dim myday As Integer = Day(mydate)
Dim myhour As Integer = Hour(mydate)
Dim myminute As Integer = Minute(mydate)
Dim mysecond As Integer = Second(mydate)
Select Case Unit
Case "year"
Console.WriteLine("year")
StartOf = New Date(myyear, 1, 1, 0, 0, 0)
Case "month"
Console.WriteLine("month")
StartOf = New Date(myyear, mymonth, 1, 0, 0, 0)
Case "week"
Dim nowWeekday As Integer = Weekday(mydate)
Dim ResultDate As Date
ResultDate = DateAdd(DateInterval.Day, 2 - nowWeekday, mydate)
If nowWeekday = 1 Then
ResultDate = DateAdd(DateInterval.Day, -7, ResultDate)
End If
StartOf = ResultDate
Case "day"
StartOf = New Date(myyear, mymonth, myday, 0, 0, 0)
Case "hour"
StartOf = New Date(myyear, mymonth, myday, myhour, 0, 0)
Case "minute"
StartOf = New Date(myyear, mymonth, myday, myhour, myminute, 0)
End Select
End Function
StartOf("year")
StartOf("month")
StartOf("week")
StartOf("day")
StartOf("hour")
StartOf("minute")
另外,推荐一个免费的ai绘画工具Dreamina。这篇博客的封面就是用它生成的,输入的文本是“一张一张的日历依次排列”。