您的位置:首页 > 编程语言 > C#

C#中如何把时间转换为季度取季度第一天等时间取值问题杂烩

2015-09-23 16:46 267 查看
把时间转换为季度:

第一种(验证过,正确):

/// <summary>

/// 传入月份,得到季度数

/// </summary>

/// <param name="month"></param>

/// <returns></returns>

public int ConvertMonthToQuarter(int month)

{

double f = Convert.ToDouble(month) / 3f;

if (f > Convert.ToInt32(f))

{

return Convert.ToInt32(f) + 1;

}

return Convert.ToInt32(f);

}

第二种:

month / 3 + (month % 3 > 0 ? 1 : 0);

第三种:

(month/3) + (month%3 == 0 ? 0 : 1);

其实第二种和第三种都差不多,思维是一样的。

//获取本季度的第一天

DateTime.Now.AddMonths(0-((DateTime.Now.Month-1)%3)).ToString("yyyy-mm-01");

//获取本季度的最后一天

DateTime.Parse(DateTime.Now.AddMonths(3-((DateTime.Now.Month-1)%3)).ToString("yyyy-mm-01")).AddDays(-1).ToShortDateString();

//获取下一个季度

DateTime.Now.AddMonths(3-((DateTime.Now.Month-1)%3)).ToString("yyyy-mm-01");

DateTime.Parse(DateTime.Now.AddMonths(6-((DateTime.Now.Month-1)%3)).ToString("yyyy-mm-01")).AddDays(-1).ToShortDateString();

//获取上个季度

DateTime.Now.AddMonths(-3-((DateTime.Now.Month-1)%3)).ToString("yyyy-mm-01");

DateTime.Parse(DateTime.Now.AddMonths(0-((DateTime.Now.Month-1)%3)).ToString("yyyy-mm-01")).AddDays(-1).ToShortDateString();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: