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();
第一种(验证过,正确):
/// <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();
相关文章推荐
- c# wince多个窗体共用一个主框架
- C#知识体系(一) --- 常用的LInq 与lambda表达式
- C#读取/写入值到前台页面TextBox文本框
- C#中调用OCX控件
- c# socket检测连接服务器连接
- C# 关于未找到元数据文件.exe和不包含适合于入口点的静态“Main”方法
- C#学习笔记(四)
- [代码片段-C#]工具代码片段 及 版本信息等
- C#实现将应用程序设置为开机启动的方法
- C# struct(结构)与按值复制、按索引复制详解
- C# WebBrowser触发onchange事件
- C#获取动态生成的CheckBox值
- C#及WPF获取本机所有字体和颜色的方法
- C#类型强转
- c#多线程 Invoke方法的使用
- C#生成ACCESS文件几点注意事项
- c#中的位运算符
- 使用C#调用windows API(从其它地方总结来的,以备查询) -转
- c# 纯代码方式创建快捷方式
- 问题:C#控制台 停留;结果:c#控制台如何延时显示