我正在Asp.net创建一个网站。
我需要以下面的格式显示标签中的日期(任何控件)。(仅限工作日)。
例如:
2016年8月9日当天显示“2016年8月9日至2016年8月15日”,
2016年8月8日的日期显示如 2016年8月9日至2016年8月15日
2016年11月8日的日期显示如 2016年8月9日至2016年8月15日
2016年12月8日的日期显示如 2016年8月9日至2016年8月15日
2016年8月13日当天展示 2016年8月9日至2016年8月15日
2016年8月14日当天显示 2016年8月9日至2016年8月15日
2016年8月15日当天展示 2016年8月9日至2016年8月15日
稍后
2016年8月16日当天显示 2016年8月16日至2016年8月22日
2016年8月17日当天显示 2016年8月16日至2016年8月22日
2016年8月18日当天展示 2016年8月16日至2016年8月22日
2016年8月19日当天显示 2016年8月16日至2016年8月22日
2016年8月20日当天展示 2016年8月16日至2016年8月22日
2016年8月21日当天显示 2016年8月16日至2016年8月22日
2016年8月22日当天显示 2016年8月16日至2016年8月22日
任何人都可以帮助任何逻辑。 如果您不清楚,请告诉我。
答案 0 :(得分:0)
要获取当前日期,您可以使用DateTime.Now
并获取当前日期+ 7天,您可以使用DateTime.Now.AddDays(7)
protected void Page_Load(object sender, EventArgs e)
{
DateTime today = DateTime.Now;
DateTime todayPlusSeven = DateTime.Now.AddDays(7);
lblDate.Text = String.Format("{0:MM-dd-yyyy} to {1:MM-dd-yyyy}", today, todayPlusSeven);
}
答案 1 :(得分:-1)
宣布@Date日期时间
设置@Date =' 08/13/2016'
SELECT CASE DATEPART(工作日,@ Date)
当1那么
转换(VARCHAR(11),DATEADD(天,-2,@日期),101)
+'到' +
convert(varchar(11),DATEADD(day,4,@ Date),101)
当2那么
转换(VARCHAR(11),DATEADD(天,-3,@日期),101)
+'到' +
convert(varchar(11),DATEADD(day,3,@ Date),101)
当3那时
转换(VARCHAR(11),DATEADD(天,-4,@日期),101)
+'到' +
convert(varchar(11),DATEADD(day,2,@ Date),101)
当4那时
转换(VARCHAR(11),DATEADD(天,-5,@日期),101)
+'到' +
convert(varchar(11),DATEADD(day,1,@ Date),101)
当5那时
转换(VARCHAR(11),DATEADD(天,-6,@日期),101)
+'到' +
convert(varchar(11),DATEADD(day,0,@ Date),101)
当6那时
转换(VARCHAR(11),DATEADD(天,0,@日期),101)
+'到' +
转换(VARCHAR(11),DATEADD(日,6,@日期),101)
当7那时
转换(VARCHAR(11),DATEADD(天,-1,@日期),101)
+'到' +
convert(varchar(11),DATEADD(day,5,@ Date),101)
以日期范围结束