.NET中根据日起求周别,或者根据周别求日期的方法
来源:互联网 发布:滚动字体源码 编辑:程序博客网 时间:2024/05/21 08:52
以下方法供大家参考,若想返回日期类型,自己修改.
using System;
using System.Web.UI;
using System.Globalization;
public partial class CSDateTime : Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("今天是第几周? -- ");
Response.Write(GetWeekOfYear(DateTime.Now));
Response.Write("<br>");
Response.Write("第200602周的日期起讫? -- ");
Response.Write(GetWeekFirstDay("200602"));
Response.Write(" - ");
Response.Write(GetWeekLastDay("200602"));
Response.Write("<br>");
Response.Write("第200622周包含哪些日期? -- ");
string[] day = GetWeekRange("200622");
for (int i = 0; i < 7;i++ )
{
Response.Write(day[i] + " ");
}
}
/// <summary>
/// 求指定日期的周别,周别的第一天为星期天
/// </summary>
/// <param name="dt">某一天</param>
/// <returns>返回的周别格式如200601,表示2006年度第一周</returns>
private string GetWeekOfYear(DateTime dt)
{
CultureInfo ci = CultureInfo.CurrentCulture;
Calendar calendar = ci.Calendar;
CalendarWeekRule rule = ci.DateTimeFormat.CalendarWeekRule;
DayOfWeek dow = ci.DateTimeFormat.FirstDayOfWeek;
int week = calendar.GetWeekOfYear(dt, rule, dow);
string weekId = dt.Year + week.ToString("00");
return weekId;
}
/// <summary>
/// 求指定周别的第一天
/// </summary>
/// <param name="weekId">周别,格式如200601</param>
/// <returns>返回日期的yyyy-MM-dd字串</returns>
private string GetWeekFirstDay(string weekId)
{
int year = int.Parse(weekId.Substring(0,4));
DateTime newYearDay = new DateTime(year,1,1);
int firstweekfirstday = Convert.ToInt32(newYearDay.DayOfWeek);
int days = (int)(7-firstweekfirstday);
DateTime secondweekfisrtday = newYearDay.AddDays(days);
int week = int.Parse(weekId.Substring(4, 2));
string firstdate = secondweekfisrtday.AddDays((week - 2) * 7).ToString("yyyy-MM-dd");
return firstdate;
}
/// <summary>
/// 求指定周别的最后一天
/// </summary>
/// <param name="weekId">周别,格式如200601</param>
/// <returns>返回日期的yyyy-MM-dd字串</returns>
private string GetWeekLastDay(string weekId)
{
int year = int.Parse(weekId.Substring(0, 4));
DateTime newYearDay = new DateTime(year, 1, 1);
int firstweekfirstday = Convert.ToInt32(newYearDay.DayOfWeek);
int days = (int)(7 - firstweekfirstday);
DateTime secondweekfisrtday = newYearDay.AddDays(days);
int week = int.Parse(weekId.Substring(4, 2));
string lastdate = secondweekfisrtday.AddDays((week - 2) * 7+6).ToString("yyyy-MM-dd");
return lastdate;
}
/// <summary>
/// 求指定周别的日期范围
/// </summary>
/// <param name="weekId">周别,格式如200601</param>
/// <returns>返回日期的yyyy-MM-dd字串</returns>
private string[] GetWeekRange(string weekId)
{
string[] day = new string[7];
int year = int.Parse(weekId.Substring(0, 4));
DateTime newYearDay = new DateTime(year, 1, 1);
int firstweekfirstday = Convert.ToInt32(newYearDay.DayOfWeek);
int days = (int)(7 - firstweekfirstday);
DateTime secondweekfisrtday = newYearDay.AddDays(days);
int week = int.Parse(weekId.Substring(4, 2));
DateTime firstdate = secondweekfisrtday.AddDays((week - 2) * 7);
DateTime lastdate = secondweekfisrtday.AddDays((week - 2)*7 + 6);
day[0] = firstdate.ToString("yyyy-MM-dd");
for (int i=1;i<=5;i++)
{
day[i] = firstdate.AddDays(i).ToString("yyyy-MM-dd");
}
day[6] = lastdate.ToString("yyyy-MM-dd");
return day;
}
}
- .NET中根据日起求周别,或者根据周别求日期的方法
- ASP.NET根据日期获取星座的方法
- .net根据日期获取星座方法
- IOS 根据日期,获取该日期所在周,月,年的开始日期,结束日期 的方法,还有下一周或者上一周的时间
- Java中根据当前的日期获取前一天的日期
- ANDROID中根据QQ号码或者QQ群号码,跳转到指定的QQ号码聊天或者QQ群方法
- Android根据当前时间获取前面的时间日期,或者之后的时间日期
- 根据日期段查询的sql方法和程序方法
- mysql中根据某个给定日期计算那天是星期几的方法
- 根据今天的日期或者传入的日期得到本日所在周的开始日期和结束日期
- 根据日期字符串或者日期求出星座及属相。
- 根据日期(年月日)得到星期几的方法
- hive根据日期获取星期几的方法
- 根据日期获取星期几的两种方法
- hive根据日期获取星期几的方法
- java写的日期工具,根据设置日期获取指定的一周或者一个月的所有日期
- asp.net中jqgrid根据不同类别头部显示不同的列的实现方法
- 根据生日或者日期 获取 生肖和星座的 JavaScript代码
- DotNet界面实现学习纲要
- 基础html代码大全参考
- 读"易互动对Web开发人员的要求 不局限于Web开发技术 "之感想
- Oracle 数据恢复
- Linux 下安装 RealPlayer 的问题及解决办法
- .NET中根据日起求周别,或者根据周别求日期的方法
- Nutch数据组成(2)
- csdn是否可以利用目前拥有广大的开发人员会员的优势来搞一些开源软件
- 男人这辈子挺难的
- 男人25岁之前应该知道的事
- 全文索引完全图解
- I believe I can fly!
- asp下输入数据转换成htm文件显示
- REBOL基础