国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C# 時間的處理(上周,下周,上月,下月,上季度,本季度,本年度等時間的表達)

2019-11-08 01:56:57
字體:
來源:轉載
供稿:網友

本周、上周,下周,本月,上月,下月,七天前,七天后,本年度,上年度,本地度,下季度,這些時間點在我們做統計時,是使用頻率特別高的時間點。那么在C#中,我們這些事件點應該如何來寫吶? C#里內置的DateTime基本上都可以實現這些功能,巧用DateTime會使你處理這些事來變輕松多了。

本文轉自博客園,原博連接:http://www.cnblogs.com/MikeChen/articles/1615210.html

今天,昨天,明天

今天 DateTime.Now.Date.ToShortDateString(); 昨天,就是今天的日期減一 DateTime.Now.AddDays(-1).ToShortDateString(); 明天,同理,加一 DateTime.Now.AddDays(1).ToShortDateString();

本周

(要知道本周的第一天就得先知道今天是星期幾,從而得知本周的第一天就是幾天前的那一天,要注意的是這里的每一周是從周日始至周六止

DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();

如果你還不明白,再看一下中文顯示星期幾的方法就應該懂了 由于DayOfWeek返回的是數字的星期幾,我們要把它轉換成漢字方便我們閱讀,有些人可能會用switch來一個一個地對照,其實不用那么麻煩的

string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];

上周

,同理,一個周是7天,上周就是本周再減去7天,下周也是一樣

DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();

下周

DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();

本月

,很多人都會說本月的第一天嘛肯定是1號,最后一天就是下個月一號再減一天。當然這是對的 一般的寫法。

DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"; //第一天DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();//最后一天//巧用C#里ToString的字符格式化更簡便DateTime.Now.ToString("yyyy-MM-01");DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1).ToShortDateString();

上個月

,減去一個月份

DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString();DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();

下個月

,加去一個月份

DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortDateString();

7天后

DateTime.Now.Date.ToShortDateString();DateTime.Now.AddDays(7).ToShortDateString();

7天前

DateTime.Now.AddDays(-7).ToShortDateString();DateTime.Now.Date.ToShortDateString();

本年度

,用ToString的字符格式化我們也很容易地算出本年度的第一天和最后一天

DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString();

上年度

DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString();DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString();

下年度

DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString();DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString();

本季度

,很多人都會覺得這里難點,需要寫個長長的過程來判斷。其實不用的,我們都知道一年四個季度,一個季度三個月 首先我們先把日期推到本季度第一個月,然后這個月的第一天就是本季度的第一天了

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();
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泗水县| 青海省| 罗江县| 修文县| 正阳县| 瑞昌市| 广河县| 盐山县| 东乡| 肇源县| 江西省| 永登县| 沂源县| 红河县| 隆回县| 黎平县| 邵武市| 财经| 宁陵县| 松桃| 长丰县| 故城县| 什邡市| 车致| 那曲县| 廊坊市| 镇康县| 紫云| 洛南县| 弥渡县| 大化| 岗巴县| 鸡东县| 外汇| 丰都县| 新巴尔虎左旗| 金塔县| 新巴尔虎右旗| 揭东县| 香河县| 林周县|