asp.net关于时间方法,当前月有多少天、求某年有多少周、求当前日期是一年的中第几周
来源:互联网 发布:免费顶级域名注册.top 编辑:程序博客网 时间:2024/05/01 22:48
/// 当前月有多少天
/// </summary>
/// <param name="y"></param>
/// <param name="m"></param>
/// <returns></returns>
public staticint HowMonthDay(int y,int m)
{
int mnext;
int ynext;
if (m < 12)
{
mnext = m + 1;
ynext = y;
}
else
{
mnext = 1;
ynext = y + 1;
}
DateTime dt1 = System.Convert.ToDateTime(y + "-" + m + "-1");
DateTime dt2 = System.Convert.ToDateTime(ynext + "-" + mnext + "-1");
TimeSpan diff = dt2 - dt1;
return diff.Days;
}
/**/
/// <summary>
/// 得到一年中的某周的起始日和截止日
/// 年 nYear
/// 周数 nNumWeek
/// 周始 out dtWeekStart
/// 周终 out dtWeekeEnd
/// </summary>
/// <param name="nYear"></param>
/// <param name="nNumWeek"></param>
/// <param name="dtWeekStart"></param>
/// <param name="dtWeekeEnd"></param>
public staticvoid GetWeek(int nYear,int nNumWeek, out DateTime dtWeekStart,out DateTime dtWeekeEnd)
{
DateTime dt = new DateTime(nYear, 1, 1);
dt = dt + new TimeSpan((nNumWeek - 1) * 7, 0,0, 0);
dtWeekStart = dt.AddDays(-(int)dt.DayOfWeek + (int)DayOfWeek.Monday);
dtWeekeEnd = dt.AddDays((int)DayOfWeek.Saturday - (int)dt.DayOfWeek +1);
}
/**/
/// <summary>
/// 求某年有多少周
/// 返回 int
/// </summary>
/// <param name="strYear"></param>
/// <returns>int</returns>
public staticint GetYearWeekCount(int strYear)
{
System.DateTime fDt = DateTime.Parse(strYear.ToString() + "-01-01");
int k = Convert.ToInt32(fDt.DayOfWeek);//得到该年的第一天是周几
if (k == 1)
{
int countDay = fDt.AddYears(1).AddDays(-1).DayOfYear;
int countWeek = countDay / 7 + 1;
return countWeek;
}
else
{
int countDay = fDt.AddYears(1).AddDays(-1).DayOfYear;
int countWeek = countDay / 7 + 2;
return countWeek;
}
}
/**/
/// <summary>
/// 求当前日期是一年的中第几周
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
public staticint WeekOfYear(DateTime curDay)
{
int firstdayofweek = Convert.ToInt32(Convert.ToDateTime(curDay.Year.ToString() +"- " + "1-1 ").DayOfWeek);
int days = curDay.DayOfYear;
int daysOutOneWeek = days - (7 - firstdayofweek);
if (daysOutOneWeek <= 0)
{
return 1;
}
else
{
int weeks = daysOutOneWeek / 7;
if (daysOutOneWeek % 7 != 0)
weeks++;
return weeks + 1;
}
}
/// <summary>
/// 返回相差的秒数
/// </summary>
/// <param name="Time"></param>
/// <param name="Sec"></param>
/// <returns></returns>
public staticint StrDateDiffSeconds(string Time,int Sec)
{
TimeSpan ts = DateTime.Now - DateTime.Parse(Time).AddSeconds(Sec);
if (ts.TotalSeconds > int.MaxValue)
{
return int.MaxValue;
}
else if (ts.TotalSeconds <int.MinValue)
{
return int.MinValue;
}
return (int)ts.TotalSeconds;
}
/// <summary>
/// 返回相差的分钟数
/// </summary>
/// <param name="time"></param>
/// <param name="minutes"></param>
/// <returns></returns>
public staticint StrDateDiffMinutes(string time,int minutes)
{
if (time == "" || time == null)
return 1;
TimeSpan ts = DateTime.Now - DateTime.Parse(time).AddMinutes(minutes);
if (ts.TotalMinutes > int.MaxValue)
{
return int.MaxValue;
}
else if (ts.TotalMinutes <int.MinValue)
{
return int.MinValue;
}
return (int)ts.TotalMinutes;
}
/// <summary>
/// 返回相差的小时数
/// </summary>
/// <param name="time"></param>
/// <param name="hours"></param>
/// <returns></returns>
public staticint StrDateDiffHours(string time,int hours)
{
if (time == "" || time == null)
return 1;
TimeSpan ts = DateTime.Now - DateTime.Parse(time).AddHours(hours);
if (ts.TotalHours > int.MaxValue)
{
return int.MaxValue;
}
else if (ts.TotalHours <int.MinValue)
{
return int.MinValue;
}
return (int)ts.TotalHours;
}
//一年中有多少周
//The first day of this year
DateTime firstDate = new DateTime(year, 1, 1);
//The last day of this year
DateTime lastDate = new DateTime(year, 12, 31);
//The week of the firstDate
int firstWeek = Convert.ToInt32(firstDate.DayOfWeek);
//The week of the lastDate
int lastWeek = Convert.ToInt32(lastDate.DayOfWeek);
//Output the result
Console.WriteLine(firstWeek);
Console.WriteLine(lastWeek);
//Calculate days of the firstWeek and the lastWeek
int extraDays = 7 - firstWeek + lastWeek;
int mainDays = 365 - extraDays;
//If leap year,mainDays + 1
int judge = year % 4;
if (judge == 0) { mainDays++; }
int mainWeeks = mainDays / 7;
int weeks = 2 + mainWeeks;
Console.WriteLine(weeks.ToString());
//Pause the program
Console.Read();
- asp.net关于时间方法,当前月有多少天、求某年有多少周、求当前日期是一年的中第几周
- asp.net关于时间方法,当前月有多少天、求某年有多少周、求当前日期是一年的中第几周
- 求某年有多少周
- C#关于日期月天数和一年有多少周及某年某周时间段的计算
- C#关于日期月天数和一年有多少周及某年某周时间段的计算
- C#关于日期 月 天数 和一年有多少周及根据某年某周获取时间段的相关计算
- shell 求某年的某月有多少天
- 求当前日期是本年的第几周
- 根据当前日期获得所在周的日期区间(周一和周日日期),一个月有多少天
- Oracle及Mysql中对当前时间的格式化及计算一个月有多少天
- 经典SQL--求一年有多少天
- oracle日期函数IW和WW 的区别 oracle求当前日期是今年第几天,第几周,第几月,第几季度?
- 汇编能够实现显示当前日期,并输出当前日期是这一年中第多少天及第二天的日期。马上要交作业了,求大神!!
- TSQL取得当前月有多少天
- 计算当前月有多少天
- jquery获取当前月有多少天
- 判断当前月有多少天
- oc中获得当前月有多少天
- WIN7系统下装XP双系统实现
- 3D空间的坐标系
- 2011-12-31
- Android找到本地联络人并向其发邮件
- VB2005中通过串口发送命令
- asp.net关于时间方法,当前月有多少天、求某年有多少周、求当前日期是一年的中第几周
- 你认同吗,你怎么想(余世维演讲节选)?
- C#条形码生成(四)----Code128Auto
- 浅谈 Mousewheel 事件
- Linux 系统的压缩与解压缩命令详解
- js 获得上传文件框中路径的问题
- 谈谈.Net技术面试 --- 自cnblogs.com
- SQL Server应用知识整理
- oracle 日期操作 汇总