如何使用 vb.net 根据周数获取一周的开始日期? [英] How to get starting date in a Week based on week number using vb.net?

查看:38
本文介绍了如何使用 vb.net 根据周数获取一周的开始日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要帮助从 vb.net 中的给定周数获取一周的开始日期.

I need help on getting the starting date of a week from a given week number in vb.net.

我将组合框与项目 1-53 绑定为周数.我想要做的是每当我选择特定的周数时,它都会返回所选周数的第一个日期.

I have combobox binded with items 1-53 as week numbers. What I want to do is whenever I select a specific week number, it will return the first date of that selected week number.

例如,我选择了第 46 周,它必须返回 2013 年 11 月 11 日作为第 46 周的第一个日期.

For instance I have selected week Number 46, it must return November 11, 2013 as first date of week number 46.

我尝试了以下代码,它仅从当前周数返回一周的第一个日期.

I have tried the following codes and it returns only the first date of a week from a current week number.

DateAdd("d", -Weekday(Now, FirstDayOfWeek.Monday) + 1, Now)

有什么可能的方法可以返回我的预期输出吗?

Is there any possible way that can return my expected output?

请帮帮我.提前致谢.

推荐答案

你可以试试这样的:

Private Sub TestDateAdd()
    Dim weekStart As DateTime = GetWeekStartDate(46, 2013)
    Console.WriteLine(weekStart)
End Sub


Private Function GetWeekStartDate(weekNumber As Integer, year As Integer) As Date
    Dim startDate As New DateTime(year, 1, 1)
    Dim weekDate As DateTime = DateAdd(DateInterval.WeekOfYear, weekNumber - 1, startDate)
    Return DateAdd(DateInterval.Day, (-weekDate.DayOfWeek) + 1, weekDate)
End Function

免责声明:我只用一个输入真正测试过这个,你可能想确保它在不同的年份都能按预期工作,等等.

Disclaimer: I only really tested this with the one input, you probably want to make sure that it works as expected for different years, etc..

这篇关于如何使用 vb.net 根据周数获取一周的开始日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆