vb.net日期函数集合

星期日~星期一分别是数字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。这篇博客的封面就是用它生成的,输入的文本是“一张一张的日历依次排列”。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值