2018-11-23 10:02:33 qq_35936174 阅读数 797
  • C#急速入门

    Unity开发,C#绝对是基础中的基础,课程针对纯小白而设计,各种语言细节在课程里均有涉猎,从原理到实战,从底层到算法,你想了解的C#,这里应有尽有,除了讲解,还有练习,你说棒不棒,哈哈,当然如果你是有其他语言基础的同学,课程依然会让你收货满满。来吧,我们进入正题。 C#语言系列课程分为五个部分: 1.C#急速入门 2.C#之面向对象 观看地址:https://edu.csdn.net/course/detail/9447 3.C#高级进阶(期待中……) 4.程序员内功修炼 - 数据结构(C#) 观看地址: https://edu.csdn.net/course/detail/10505 5.Unity百家公司面试题总结  C#部分(期待中……)    #此后新课程更新将在张建飞老师个人账号下发布 敬请关注~~ https://edu.csdn.net/lecturer/2528

    22189 人正在学习 去看看 张建飞

C#里内置的DateTime基本上都可以实现这些功能,巧用DateTime会使你处理这些事来变轻松多了
今天
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();

简单补充

c#中如何获取时间!
1、DateTime 数字型
System.DateTime currentTime=new System.DateTime();
1.1 取当前年月日时分秒
currentTime=System.DateTime.Now;
1.2 取当前年
int 年=currentTime.Year;
1.3 取当前月
int 月=currentTime.Month;
1.4 取当前日
int 日=currentTime.Day;
1.5 取当前时
int 时=currentTime.Hour;
1.6 取当前分
int 分=currentTime.Minute;
1.7 取当前秒
int 秒=currentTime.Second;
1.8 取当前毫秒
int 毫秒=currentTime.Millisecond;
(变量可用中文)

1.9 取中文日期显示——年月日时分
string strY=currentTime.ToString(“f”); //不显示秒

1.10 取中文日期显示_年月
string strYM=currentTime.ToString(“y”);

1.11 取中文日期显示_月日
string strMD=currentTime.ToString(“m”);

1.12 取中文年月日
string strYMD=currentTime.ToString(“D”);

1.13 取当前时分,格式为:14:24
string strT=currentTime.ToString(“t”);

1.14 取当前时间,格式为:2003-09-23T14:46:48
string strT=currentTime.ToString(“s”);

1.15 取当前时间,格式为:2003-09-23 14:48:30Z
string strT=currentTime.ToString(“u”);

1.16 取当前时间,格式为:2003-09-23 14:48
string strT=currentTime.ToString(“g”);

1.17 取当前时间,格式为:Tue, 23 Sep 2003 14:52:40 GMT
string strT=currentTime.ToString(“r”);

1.18获得当前时间 n 天后的日期时间
DateTime newDay = DateTime.Now.AddDays(100);

string strT = DateTime.Now.ToString(“yyyy-MM-dd HH:mm:ss”);

System.DateTime currentTime=new System.DateTime();
currentTime=System.DateTime.Now; //取当前年月日时分秒
string Y=currentTime.Year.ToString(); //取当前年
string M=currentTime.Month.ToString(); //取当前月
string D=currentTime.Day.ToString(); //取当前日
string T=currentTime.Hour.ToString(); //取当前时
string MM=currentTime.Minute.ToString(); //取当前分
string S=currentTime.Second.ToString(); //取当前秒
string SS=currentTime.Millisecond.ToString(); //取当前毫秒
string FileName=Y+M+D+T+MM+S+SS+".Html"; //联接后,得到长文件名

2017-11-19 14:06:23 NewLetterr 阅读数 1242
  • C#急速入门

    Unity开发,C#绝对是基础中的基础,课程针对纯小白而设计,各种语言细节在课程里均有涉猎,从原理到实战,从底层到算法,你想了解的C#,这里应有尽有,除了讲解,还有练习,你说棒不棒,哈哈,当然如果你是有其他语言基础的同学,课程依然会让你收货满满。来吧,我们进入正题。 C#语言系列课程分为五个部分: 1.C#急速入门 2.C#之面向对象 观看地址:https://edu.csdn.net/course/detail/9447 3.C#高级进阶(期待中……) 4.程序员内功修炼 - 数据结构(C#) 观看地址: https://edu.csdn.net/course/detail/10505 5.Unity百家公司面试题总结  C#部分(期待中……)    #此后新课程更新将在张建飞老师个人账号下发布 敬请关注~~ https://edu.csdn.net/lecturer/2528

    22189 人正在学习 去看看 张建飞

昨天的小总结来一发,以后每天都有这样的原创小归纳上传;

C# 与 java 的比较:
预:
   C#                                     java
   开发环境:visual studio C#              Eclipse/MyEclipse


1. C#                                     java
  自动装箱                               invalueOf
  强制拆箱Int32 Object                   Integer.paseInt()


2. C#                                     java
  对于main方法,可以将修饰符修饰为       public static void Xx(String[] args)
  private,protected等 可以无参数值        
  而且 返回值可以为void 


3. C#                                     java
  internal protected 或protected internal  protected表示可以访问本类同包类及子类  
  表示可以访问本类同包类及子类             只访问子类的话就无能为力了
  protected表示访问子类 


3. C#                                     java
  Object ReferenceEquals(o1,o2)            equals
  比较字符串的值 


4. C#                                     java
  继承:父类前要写override                 子类的修饰符可以用比父类更宽松的修饰符.
  子类前写:vatural  
  父子类的修饰符必须一致 


5. C#                                      java
  CSC.exe这个.NET FrameWork SDK下的一个工具     \
  CSC.exe可以预编译多个源文件


6. C#                                      java
  as 就相当于java中的instanceof            instanceof
  用来表示该对象是否为特定类的实例
  返回的是一个Boolean


7.C#                                      java
  内部类必须是静态内部类                   内部类可静态可非静态


8.C#                                       java
  某个变量只能赋值一次之后就不能修改了     final不能修改
  因为readonly关键字的作用


9.C#                                       java
  接口里没有常量                           可有常量


10.C#                                      java
  防止类被修改用sealed                     统一用final
  防止变量被修改用const


11.C#                                       java
  类的修饰符:public/priavte/protected         只能是public或默认
  默认/internal(类似于java中的同包)/internal 
  protected都可


12.C#                                       java
  静态代码块:static[类名]{ }                静态代码块:static{ }

未完待续。。。









































 


2019-12-06 07:51:24 C_duya752 阅读数 41
  • C#急速入门

    Unity开发,C#绝对是基础中的基础,课程针对纯小白而设计,各种语言细节在课程里均有涉猎,从原理到实战,从底层到算法,你想了解的C#,这里应有尽有,除了讲解,还有练习,你说棒不棒,哈哈,当然如果你是有其他语言基础的同学,课程依然会让你收货满满。来吧,我们进入正题。 C#语言系列课程分为五个部分: 1.C#急速入门 2.C#之面向对象 观看地址:https://edu.csdn.net/course/detail/9447 3.C#高级进阶(期待中……) 4.程序员内功修炼 - 数据结构(C#) 观看地址: https://edu.csdn.net/course/detail/10505 5.Unity百家公司面试题总结  C#部分(期待中……)    #此后新课程更新将在张建飞老师个人账号下发布 敬请关注~~ https://edu.csdn.net/lecturer/2528

    22189 人正在学习 去看看 张建飞

Unity相关知识体系梳理(一)c#语言_3

昨天我们进行了C#的第二部分的梳理,即C#的变量,常量,数据类型部分。而我们接下来要讲的是C#中的运算符和函数方法,这部分和昨天的部分同等重要,要牢记。

C#运算符

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号,C#内置的运算符主要有以下几种

  1. 算术运算符
  2. 关系运算符
  3. 布尔逻辑运算符
  4. 赋值运算符
  5. 其他运算符
算数运算符

c#中算数运算符主要有以下几种

运算符 描述
+ 把两个操作数相加
- 从第一个操作数中减去第二个操作数
* 把两个操作数相乘
/ 分子除以分母
% 取模运算符,整除后的余数
++ 自增运算符,整数值增加 1
- - 自减运算符,整数值减少 1

算术运算符使用数值操作数执行算术运算 看下面实例

            int tmpIntA = 10;
            int tmpIntB = 20;
            Console.WriteLine(tmpIntA + tmpIntB);
            Console.WriteLine(tmpIntA -tmpIntB);
            Console.WriteLine(tmpIntA * tmpIntB);
            Console.WriteLine(tmpIntA / tmpIntB);
            Console.WriteLine(tmpIntA % tmpIntB);
            tmpIntA++;
            Console.WriteLine(tmpIntA);
            tmpIntA--;
            Console.WriteLine(tmpIntA);
            Console.ReadLine();

运算结果为
在这里插入图片描述
此处关于 ++ 和 - -的相关计算有运算顺序的注意

            int tmpIntA = 10;
            int tmpIntB = 20;
            int tmpIntAnswer = 0;

            tmpIntAnswer = tmpIntA++;//先将tmpIntA的值赋值给tmpIntAnswer ,然后进行++运算
            Console.WriteLine(tmpIntAnswer);//此时tmpIntAnswer =10;tmpIntA=11;
            tmpIntAnswer = ++tmpIntA;//现将tmpIntA进行++运算,然后赋值给tmpIntAnswer ;
            Console.WriteLine(tmpIntAnswer);//此时tmpIntAnswer=tmpIntA=12;
            Console.ReadKey();

输出结果为 10 ,12。- -运算符与之同理。
算数运算符运算符的运算顺序满足数学运算规律,如果不用括号控制的话,通常会从左至右按数学逻辑计算

关系运算符
运算符 描述
== 检查两个操作数的值是否相等,如果相等则条件为真。
!= 检查两个操作数的值是否相等,如果不相等则条件为真。
> 检查左操作数的值是否大于右操作数的值,如果是则条件为真。
< 检查左操作数的值是否小于右操作数的值,如果是则条件为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。
            int tmpIntA = 10;
            int tmpIntB = 10;
            bool tmpBoolAnswer = false;

            tmpBoolAnswer = (tmpIntA == tmpIntB);
            Console.WriteLine(tmpBoolAnswer);
            tmpBoolAnswer = (tmpIntA != tmpIntB);
            Console.WriteLine(tmpBoolAnswer);
            tmpBoolAnswer = (tmpIntA >= tmpIntB);
            Console.WriteLine(tmpBoolAnswer);
            tmpBoolAnswer = (tmpIntA <= tmpIntB);
            Console.WriteLine(tmpBoolAnswer);
            tmpBoolAnswer = (tmpIntA > tmpIntB);
            Console.WriteLine(tmpBoolAnswer);
            tmpBoolAnswer = (tmpIntA < tmpIntB);
            Console.WriteLine(tmpBoolAnswer);
            Console.ReadKey();

运算结果如下
在这里插入图片描述

布尔逻辑运算符
运算符 描述
&& 称为条件逻辑与运算符。如果两个操作数都非零,则条件为真。
ll 称为条件逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。
! 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。
^ 称谓逻辑异或运算符 ,如果两个操作数不同,则条件为真。
& 称为逻辑与运算符。如果两个操作数都非零,则条件为真。
l 逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。
            bool tmpBoolA = true;
            bool tmpBoolB = false;
            bool tmpBoolAnswer = false;

            tmpBoolAnswer = (tmpBoolA && tmpBoolB);
            Console.WriteLine(tmpBoolAnswer);
            tmpBoolAnswer = (tmpBoolA & tmpBoolB);
            Console.WriteLine(tmpBoolAnswer);
            tmpBoolAnswer = (tmpBoolA || tmpBoolB);
            Console.WriteLine(tmpBoolAnswer);
            tmpBoolAnswer = (tmpBoolA | tmpBoolB);
            Console.WriteLine(tmpBoolAnswer);
            tmpBoolAnswer = (tmpBoolA^tmpBoolB);
            Console.WriteLine(tmpBoolAnswer);
            tmpBoolAnswer = (!tmpBoolA );
            Console.WriteLine(tmpBoolAnswer);
            Console.ReadKey();

运算结果如下
在这里插入图片描述
此处需要说明的是

  1. &&与&运算符的差别是,运算false&&true的时候,会产生逻辑短路,即并不会运算&&后面的值,而false&true的时候,会运算&后面的值,ll 和l的运算同理。
  2. 对于整型数值类型的操作数,&、| 和 ^ 运算符执行位逻辑运算。 有关详细信息,请参阅 位运算符和移位运算符.
赋值运算符
运算符 描述
= 简单的赋值运算符,把右边操作数的值赋给左边操作数
+= 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数
-= 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数
*= 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数
/= 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数
%= 求模且赋值运算符,求两个操作数的模赋值给左边操作数
            int tmpIntA = 10;
            int tmpIntAnswer = 0;
            tmpIntAnswer += tmpIntA;
            Console.WriteLine(tmpIntAnswer);
            tmpIntAnswer -= tmpIntA;
            Console.WriteLine(tmpIntAnswer);
            tmpIntAnswer *= tmpIntA;
            Console.WriteLine(tmpIntAnswer);
            tmpIntAnswer /= tmpIntA;
            Console.WriteLine(tmpIntAnswer);
            tmpIntAnswer = tmpIntA;
            Console.WriteLine(tmpIntAnswer);
            tmpIntAnswer %= tmpIntA;
            Console.WriteLine(tmpIntAnswer);
            Console.ReadKey();

运算结果为
在这里插入图片描述
其中的运算过程以+=为例则 tmpIntAnswer += tmpIntA;等价于tmpIntAnswer =tmpIntAnswer +tmpIntA;
但是其中需要注意的是,=作为运算符,它的运算顺序是从右向左计算

            int tmpIntA = 10;
            int tmpIntB = 20;
            int tmpIntAnswer = 0;
            tmpIntAnswer = tmpIntA = tmpIntB;
            Console.WriteLine(tmpIntAnswer);
            Console.WriteLine(tmpIntA);

输出结果为20 ,20;其中tmpIntAnswer = tmpIntA = tmpIntB等价于tmpIntAnswer = (tmpIntA = tmpIntB);

其他运算符

其他运算符中我们挑选一些常用的例子,昨天我们尝试过运用size of来看一个变量在内存中的大小,其实size of就是一个运算符,与之类似的还有type of,获取某个变量的类型。我们这里要说的是== ?:==这个运算符 。

            int tmpIntA = 10;        
            int tmpIntAnswer = 0;
            tmpIntAnswer = (tmpIntA == 10) ? 20 : 30;

运算结果是 20 。这个运算符是判断?前面的条件,如果条件是True则取值:前面的值,否则取后面的值。

函数方法(一)

一个方法(函数)是把一些相关的语句组织在一起,用来执行一个任务的语句块。我们对于一个函数的主要操作是声明及调用

声明函数

当定义一个方法时,从根本上说是在声明它的结构的元素,一个函数的主要部分包括
修饰符+ 返回值+ 函数名+(参数)+{函数体}
实例如下:

      static  void tmpFunctiopnA()
        {
            //这是一个没有参数,没有返回值的函数
        }
      static  int tmpFunctiopnA(int tmpIntInput)
        {
            //这是一个有一个int型的参数,会反还一个Int型的返回值的函数
            int tmpIntReturn=0;
            tmpIntReturn = tmpIntInput;
            return tmpIntReturn;

        }

修饰符部分我们明天详细讲述。

调用函数

调用函数需要使用函数名进行调用,实例如下:

static void Main(string[] args)
        {
            tmpFunctiopnA();
            tmpFunctiopnB(30);
            int tmpIntAnswaer = 0;
            tmpIntAnswaer = tmpFunctiopnB(20);
            Console.WriteLine("我是函数外面输出的tmpIntAnswaer" + tmpIntAnswaer);
            Console.ReadLine();
        }
       static void tmpFunctiopnA()
        {
            //这是一个没有参数,没有返回值的函数
        }
       static int tmpFunctiopnB(int tmpIntInput)
        {
            //这是一个有一个int型的参数,会反还一个Int型的返回值的函数
            int tmpIntReturn=0;
           
            tmpIntReturn += tmpIntInput;
            Console.WriteLine("我是函数里面输出的tmpIntReturn" + tmpIntReturn);
            return tmpIntReturn;

        }

输出结果如下:
在这里插入图片描述
在C#控制台中,我们有一个主函数Main函数,此函数是程序进入接口。我们可以自定义其他函数,然后在主函数中调用,来达到控制流程得到结果的目的。
本例中可以看到我们调用函数是通过函数名调用的,每当函数被调用时,函数都会执行一次。当函数带参数的时候,我们必须传入一个与之类型相同的参数,当函数有返回值的时候,我们可以选择用与返回值类型相同的变量来接收返回值,我们也可以不接收返回值,这主要取决于此函数的功用。

今天的整理完成,本次梳理中的动手部分是自己尝试写一些函数,并在其中尝试各个运算符的使用等。下一篇我们讲述C#中的函数参数,修饰符,类型转换等。
2010-04-21 16:12:00 xqf222 阅读数 4245
  • C#急速入门

    Unity开发,C#绝对是基础中的基础,课程针对纯小白而设计,各种语言细节在课程里均有涉猎,从原理到实战,从底层到算法,你想了解的C#,这里应有尽有,除了讲解,还有练习,你说棒不棒,哈哈,当然如果你是有其他语言基础的同学,课程依然会让你收货满满。来吧,我们进入正题。 C#语言系列课程分为五个部分: 1.C#急速入门 2.C#之面向对象 观看地址:https://edu.csdn.net/course/detail/9447 3.C#高级进阶(期待中……) 4.程序员内功修炼 - 数据结构(C#) 观看地址: https://edu.csdn.net/course/detail/10505 5.Unity百家公司面试题总结  C#部分(期待中……)    #此后新课程更新将在张建飞老师个人账号下发布 敬请关注~~ https://edu.csdn.net/lecturer/2528

    22189 人正在学习 去看看 张建飞

//定义变量 

        private static DateTime currentDateTime;        //当前时间
        private static DateTime lastDateTime;           //昨天时间
        private static DateTime nextDateTime;           //明天时间

        private static int currentDayOfWeek;            //今天星期几
        private static int lastDayOfWeek;               //昨天星期几
        private static int nextDayOfWeek;               //明天星期几

        private static DateTime currentStartWeek;       //本周周一
        private static DateTime currentEndWeek;         //本周周日
        private static DateTime currentStartMonth;      //本月月初
        private static DateTime currentEndMonth;        //本月月末
        private static DateTime currentStartQuarter;    //本季度初
        private static DateTime currentEndQuarter;      //本季度末
        private static DateTime currentStartYear;       //今年年初
        private static DateTime currentEndYear;         //今年年末

        private static DateTime lastStartWeek;          //上周周一
        private static DateTime lastEndWeek;            //上周周日
        private static DateTime lastStartMonth;         //上月月初
        private static DateTime lastEndMonth;           //上月月末
        private static DateTime lastStartQuarter;       //上季度初
        private static DateTime lastEndQuarter;         //上季度末
        private static DateTime lastStartYear;          //去年年初
        private static DateTime lastEndYear;            //去年年末

        private static DateTime nextStartWeek;          //下周周一
        private static DateTime nextEndWeek;            //下周周日
        private static DateTime nextStartMonth;         //下月月初
        private static DateTime nextEndMonth;           //下月月末
        private static DateTime nextStartQuarter;       //下季度初
        private static DateTime nextEndQuarter;         //下季度末
        private static DateTime nextStartYear;          //明年年初
        private static DateTime nextEndYear;            //明年年末

 

//计算变量

            currentDateTime = DateTime.Now;                 //当前时间
            lastDateTime = DateTime.Now.AddDays(-1);        //昨天时间
            nextDateTime = DateTime.Now.AddDays(1);         //明天时间

            currentDayOfWeek = Convert.ToInt32(currentDateTime.DayOfWeek.ToString("d"));    //今天星期几
            currentDayOfWeek = Convert.ToInt32(lastDateTime.DayOfWeek.ToString("d"));       //昨天星期几
            currentDayOfWeek = Convert.ToInt32(nextDateTime.DayOfWeek.ToString("d"));       //明天星期几

            currentStartWeek = currentDateTime.AddDays(1 - ((currentDayOfWeek == 0) ? 7 : currentDayOfWeek));   //本周周一
            currentEndWeek = currentStartWeek.AddDays(6);                                                       //本周周日           
            lastStartWeek = currentStartWeek.AddDays(-7);       //上周周一
            lastEndWeek = currentEndWeek.AddDays(-7);           //上周周日
            nextStartWeek = currentStartWeek.AddDays(7);        //下周周一
            nextEndWeek = currentEndWeek.AddDays(7);            //下周周日

            currentStartMonth = currentDateTime.AddDays(1 - currentDateTime.Day);   //本月月初
            currentEndMonth = currentStartMonth.AddMonths(1).AddDays(-1);           //本月月末
            lastStartMonth = currentStartMonth.AddMonths(-1);       //上月月初
            lastEndMonth = currentStartMonth.AddDays(-1);           //上月月末
            nextStartMonth = currentEndMonth.AddDays(1);            //下月月初
            nextEndMonth = nextStartMonth.AddMonths(1).AddDays(-1); //下月月末

            currentStartQuarter = currentDateTime.AddMonths(0 - (currentDateTime.Month - 1) % 3).AddDays(1 - currentDateTime.Day);  //本季度初
            currentEndQuarter = currentStartQuarter.AddMonths(3).AddDays(-1);                                                      //本季度末
            lastStartQuarter = currentStartQuarter.AddMonths(-3);           //上季度初
            lastEndQuarter = currentStartQuarter.AddDays(-1);               //上季度末
            nextStartQuarter = currentEndQuarter.AddDays(1);                //下季度初
            nextEndQuarter = nextStartQuarter.AddMonths(3).AddDays(-1);     //下季度末

            //年度运算
            currentStartYear = new DateTime(currentDateTime.Year, 1, 1);  //今年年初
            currentEndYear = new DateTime(currentDateTime.Year, 12, 31);  //今年年末
            lastStartYear = currentStartYear.AddYears(-1);  //去年年初
            lastEndYear = currentEndYear.AddYears(-1);      //去年年末
            nextStartYear = currentStartYear.AddYears(1);   //明年年初
            nextEndYear = currentEndYear.AddYears(1);       //明年年末

 

        /// <summary>
        /// 返回星期几字符串函数
        /// </summary>
        /// <param name="myDateTime"></param>
        /// <returns></returns>

        private string GetWeekDayName(DateTime myDateTime)
        {
            string week = "";
            //获取当前日期是星期几
            string dt = myDateTime.DayOfWeek.ToString();
            //根据取得的星期英文单词返回汉字
            switch (dt)
            {
                case "Monday":
                    week = "星期一";
                    break;
                case "Tuesday":
                    week = "星期二";
                    break;
                case "Wednesday":
                    week = "星期三";
                    break;
                case "Thursday":
                    week = "星期四";
                    break;
                case "Friday":
                    week = "星期五";
                    break;
                case "Saturday":
                    week = "星期六";
                    break;
                case "Sunday":
                    week = "星期日";
                    break;
            }
            return week;
        }

2013-07-24 12:58:01 yudehui 阅读数 4877
  • C#急速入门

    Unity开发,C#绝对是基础中的基础,课程针对纯小白而设计,各种语言细节在课程里均有涉猎,从原理到实战,从底层到算法,你想了解的C#,这里应有尽有,除了讲解,还有练习,你说棒不棒,哈哈,当然如果你是有其他语言基础的同学,课程依然会让你收货满满。来吧,我们进入正题。 C#语言系列课程分为五个部分: 1.C#急速入门 2.C#之面向对象 观看地址:https://edu.csdn.net/course/detail/9447 3.C#高级进阶(期待中……) 4.程序员内功修炼 - 数据结构(C#) 观看地址: https://edu.csdn.net/course/detail/10505 5.Unity百家公司面试题总结  C#部分(期待中……)    #此后新课程更新将在张建飞老师个人账号下发布 敬请关注~~ https://edu.csdn.net/lecturer/2528

    22189 人正在学习 去看看 张建飞

【转】c#取得昨天日期

//定义变量 

        private static DateTime currentDateTime;        //当前时间
        private static DateTime lastDateTime;           //昨天时间
        private static DateTime nextDateTime;           //明天时间

        private static int currentDayOfWeek;            //今天星期几
        private static int lastDayOfWeek;               //昨天星期几
        private static int nextDayOfWeek;               //明天星期几

        private static DateTime currentStartWeek;       //本周周一
        private static DateTime currentEndWeek;         //本周周日
        private static DateTime currentStartMonth;      //本月月初
        private static DateTime currentEndMonth;        //本月月末
        private static DateTime currentStartQuarter;    //本季度初
        private static DateTime currentEndQuarter;      //本季度末
        private static DateTime currentStartYear;       //今年年初
        private static DateTime currentEndYear;         //今年年末

        private static DateTime lastStartWeek;          //上周周一
        private static DateTime lastEndWeek;            //上周周日
        private static DateTime lastStartMonth;         //上月月初
        private static DateTime lastEndMonth;           //上月月末
        private static DateTime lastStartQuarter;       //上季度初
        private static DateTime lastEndQuarter;         //上季度末
        private static DateTime lastStartYear;          //去年年初
        private static DateTime lastEndYear;            //去年年末

        private static DateTime nextStartWeek;          //下周周一
        private static DateTime nextEndWeek;            //下周周日
        private static DateTime nextStartMonth;         //下月月初
        private static DateTime nextEndMonth;           //下月月末
        private static DateTime nextStartQuarter;       //下季度初
        private static DateTime nextEndQuarter;         //下季度末
        private static DateTime nextStartYear;          //明年年初
        private static DateTime nextEndYear;            //明年年末

//计算变量

            currentDateTime = DateTime.Now;                 //当前时间

    

	   string currentDate=   DateTime.Now.ToString("yyyy-MM-dd"); // //当前日期
   
	  DateTime dt = Convert.ToDateTime("2012/12/12 13:30:00");
	  string h = dt.Hour.ToString();//小时
	   string m = dt.Minute.ToString();//分钟
            lastDateTime = DateTime.Now.AddDays(-1);        //昨天时间
            nextDateTime = DateTime.Now.AddDays(1);         //明天时间

            currentDayOfWeek = Convert.ToInt32(currentDateTime.DayOfWeek.ToString("d"));    //今天星期几
            currentDayOfWeek = Convert.ToInt32(lastDateTime.DayOfWeek.ToString("d"));       //昨天星期几
            currentDayOfWeek = Convert.ToInt32(nextDateTime.DayOfWeek.ToString("d"));       //明天星期几

            currentStartWeek = currentDateTime.AddDays(1 - ((currentDayOfWeek == 0) ? 7 : currentDayOfWeek));   //本周周一
            currentEndWeek = currentStartWeek.AddDays(6);                                                       //本周周日            
            lastStartWeek = currentStartWeek.AddDays(-7);       //上周周一
            lastEndWeek = currentEndWeek.AddDays(-7);           //上周周日
            nextStartWeek = currentStartWeek.AddDays(7);        //下周周一
            nextEndWeek = currentEndWeek.AddDays(7);            //下周周日

            currentStartMonth = currentDateTime.AddDays(1 - currentDateTime.Day);   //本月月初
            currentEndMonth = currentStartMonth.AddMonths(1).AddDays(-1);           //本月月末
            lastStartMonth = currentStartMonth.AddMonths(-1);       //上月月初
            lastEndMonth = currentStartMonth.AddDays(-1);           //上月月末
            nextStartMonth = currentEndMonth.AddDays(1);            //下月月初
            nextEndMonth = nextStartMonth.AddMonths(1).AddDays(-1); //下月月末

            currentStartQuarter = currentDateTime.AddMonths(0 - (currentDateTime.Month - 1) % 3).AddDays(1 - currentDateTime.Day);  //本季度初
            currentEndQuarter = currentStartQuarter.AddMonths(3).AddDays(-1);                                                      //本季度末
            lastStartQuarter = currentStartQuarter.AddMonths(-3);           //上季度初
            lastEndQuarter = currentStartQuarter.AddDays(-1);               //上季度末
            nextStartQuarter = currentEndQuarter.AddDays(1);                //下季度初
            nextEndQuarter = nextStartQuarter.AddMonths(3).AddDays(-1);     //下季度末

            //年度运算
            currentStartYear = new DateTime(currentDateTime.Year, 1, 1);  //今年年初
            currentEndYear = new DateTime(currentDateTime.Year, 12, 31);  //今年年末
            lastStartYear = currentStartYear.AddYears(-1);  //去年年初
            lastEndYear = currentEndYear.AddYears(-1);      //去年年末
            nextStartYear = currentStartYear.AddYears(1);   //明年年初
            nextEndYear = currentEndYear.AddYears(1);       //明年年末

        /// <summary>
        /// 返回星期几字符串函数
        /// </summary>
        /// <param name="myDateTime"></param>
        /// <returns></returns>

        private string GetWeekDayName(DateTime myDateTime)
        {
            string week = "";
            //获取当前日期是星期几
            string dt = myDateTime.DayOfWeek.ToString();
            //根据取得的星期英文单词返回汉字
            switch (dt)
            {
                case "Monday":
                    week = "星期一";
                    break;
                case "Tuesday":
                    week = "星期二";
                    break;
                case "Wednesday":
                    week = "星期三";
                    break;
                case "Thursday":
                    week = "星期四";
                    break;
                case "Friday":
                    week = "星期五";
                    break;
                case "Saturday":
                    week = "星期六";
                    break;
                case "Sunday":
                    week = "星期日";
                    break;
            }
            return week;
        }

C#学习记录

阅读数 493

没有更多推荐了,返回首页