zoukankan      html  css  js  c++  java
  • 获取(当前)日期型字段里的年、月、日

    C#控制台测试

    eg1:

      1 static void Main(string[] args)
      2         {
      3             //只取日期
      4             var date = DateTime.Now.ToShortDateString();
      5 
      6             //只取时间
      7             var time = DateTime.Now.ToLongTimeString();
      8 
      9             DateTime dt = DateTime.Now;
     10             ///测试一.
     11             ///
     12             dt.ToString();//2005-11-5 13:21:25
     13             dt.ToFileTime().ToString();//127756416859912816
     14             dt.ToFileTimeUtc().ToString();//127756704859912816
     15             dt.ToLocalTime().ToString();//2005-11-5 21:21:25
     16             dt.ToLongDateString().ToString();//2005年11月5日
     17             dt.ToLongTimeString().ToString();//13:21:25
     18             dt.ToOADate().ToString();//38661.5565508218
     19             dt.ToShortDateString().ToString();//2005-11-5
     20             dt.ToShortTimeString().ToString();//13:21
     21             dt.ToUniversalTime().ToString();//2005-11-5 5:21:25
     22             dt.Year.ToString();//2005
     23             dt.Date.ToString();//2005-11-5 0:00:00
     24             dt.DayOfWeek.ToString();//Saturday
     25             dt.DayOfYear.ToString();//309
     26             dt.Hour.ToString();//13
     27             dt.Millisecond.ToString();//441
     28             dt.Minute.ToString();//30
     29             dt.Month.ToString();//11
     30             dt.Second.ToString();//28
     31             dt.Ticks.ToString();//632667942284412864
     32             dt.TimeOfDay.ToString();//13:30:28.4412864
     33             dt.ToString();//2005-11-5 13:47:04
     34             dt.AddYears(1).ToString();//2006-11-5 13:47:04
     35             dt.AddDays(1.1).ToString();//2005-11-6 16:11:04
     36             dt.AddHours(1.1).ToString();//2005-11-5 14:53:04
     37             dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04
     38             dt.AddMonths(1).ToString();//2005-12-5 13:47:04
     39             dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05
     40             dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10
     41             dt.AddTicks(1000).ToString();//2005-11-5 13:47:04
     42             dt.CompareTo(dt).ToString();//0
     43             //dt.Add(?).ToString();//问号为一个时间段
     44             dt.Equals("2005-11-6 16:11:04").ToString();//False
     45             dt.Equals(dt).ToString();//True
     46             dt.GetHashCode().ToString();//1474088234
     47             dt.GetDateTimeFormats('f')[0].ToString();//2018年7月6日 17:13
     48             dt.GetDateTimeFormats('g')[0].ToString();//2018/7/6 17:14
     49             dt.GetDateTimeFormats('D')[0].ToString();//2018年7月6日
     50             dt.GetDateTimeFormats('D')[1].ToString();//2018年7月6日, 星期五
     51             dt.GetDateTimeFormats('D')[2].ToString();//星期五, 2018年7月6日
     52             dt.GetDateTimeFormats('D')[3].ToString();//2018年7月6日
     53             dt.GetDateTimeFormats('D')[4].ToString();//2018年7月6日, 星期五
     54             dt.GetDateTimeFormats('M')[0].ToString();//7月6日
     55             dt.GetDateTimeFormats('r')[0].ToString();//Fri, 06 Jul 2018 17:18:28 GMT
     56             dt.GetDateTimeFormats('y')[0].ToString();//2018年7月
     57             dt.GetDateTimeFormats('t')[0].ToString();//17:21
     58             dt.GetDateTimeFormats('s')[0].ToString();//2018-07-06T17:22:25
     59             dt.GetTypeCode().ToString();//DateTime
     60             dt.GetType().ToString();//System.DateTime
     61 
     62             ///测试二.
     63             ///
     64             string.Format("{0:d}", dt);//2018/7/6
     65             string.Format("{0:D}", dt);//2018年7月6日
     66             string.Format("{0:f}", dt);//2005年11月5日 14:23
     67             string.Format("{0:F}", dt);//2005年11月5日 14:23:23
     68             string.Format("{0:g}", dt);//2005-11-5 14:23
     69             string.Format("{0:G}", dt);//2005-11-5 14:23:23
     70             string.Format("{0:M}", dt);//11月5日
     71             string.Format("{0:R}", dt);//Sat, 05 Nov 2005 14:23:23 GMT
     72             string.Format("{0:s}", dt);//2005-11-05T14:23:23
     73             string.Format("{0:t}", dt);//14:23
     74             string.Format("{0:T}", dt);//14:23:23
     75             string.Format("{0:u}", dt);//2005-11-05 14:23:23Z
     76             string.Format("{0:U}", dt);//2005年11月5日 6:23:23
     77             string.Format("{0:Y}", dt);//2005年11月
     78             string.Format("{0}", dt);//2005-11-5 14:23:23
     79             string.Format("{0:yyyyMMddHHmmssffff}", dt);
     80 
     81             //计算2个日期之间的天数差
     82             DateTime dt1 = Convert.ToDateTime("2007-8-1");
     83             DateTime dt2 = Convert.ToDateTime("2007-8-15");
     84             TimeSpan span = dt2.Subtract(dt1);
     85             int dayDiff = span.Days + 1;
     86 
     87             //计算某年某月的天数
     88             int days = DateTime.DaysInMonth(2018, 6);
     89 
     90             //给日期增加一天、减少一天
     91             dt.AddDays(1); //增加一天
     92             dt.AddDays(-1);//减少一天
     93 
     94             //获取当前的年日月
     95             //DateTime.Now.Year;
     96             //DateTime.Now.Date.Month;
     97             //DateTime.Now.Date.Day;
     98 
     99 
    100             Console.WriteLine();
    101             //Console.WriteLine(date);
    102             Console.ReadKey();
    103         }
    View Code

     eg2:

      1 获得当前系统时间: DateTime dt = DateTime.Now;
      2 Environment.TickCount可以得到“系统启动到现在”的毫秒值
      3 DateTime now = DateTime.Now;
      4 Console.WriteLine(now.ToString("yyyy-MM-dd"));  //按yyyy-MM-dd格式输出s
      5 Console.WriteLine(dt.ToString());    //  26/11/2009 AM 11:21:30
      6 Console.WriteLine(dt.ToFileTime().ToString());   //   129036792908014024
      7 // Converts the value of the current System.DateTime object to a Windows file time
      8 Console.WriteLine(dt.ToFileTimeUtc().ToString());  //     129036792908014024
      9 // Converts the value of the current System.DateTime object to a Windows file time
     10 Console.WriteLine(dt.ToLocalTime().ToString());   //       26/11/2009 AM 11:21:30
     11 // Converts the value of the current System.DateTime object to local time.
     12 Console.WriteLine(dt.ToLongDateString().ToString());   //      2009年11月26日
     13 Console.WriteLine(dt.ToLongTimeString().ToString());  //      AM 11:21:30
     14 Console.WriteLine(dt.ToOADate().ToString());   //      40143.4732731597
     15 Console.WriteLine(dt.ToShortDateString().ToString());   //     26/11/2009
     16 Console.WriteLine(dt.ToShortTimeString().ToString());   //     AM 11:21
     17 Console.WriteLine(dt.ToUniversalTime().ToString());   //       26/11/2009 AM 3:21:30
     18 Console.WriteLine(dt.Year.ToString());   //        2009
     19 Console.WriteLine(dt.Date.ToString());   //        26/11/2009 AM 12:00:00
     20 Console.WriteLine(dt.DayOfWeek.ToString());  //       Thursday
     21 Console.WriteLine(dt.DayOfYear.ToString());   //       330
     22 Console.WriteLine(dt.Hour.ToString());       //        11
     23 Console.WriteLine(dt.Millisecond.ToString());   //     801        (毫秒)
     24 Console.WriteLine(dt.Minute.ToString());   //      21
     25 Console.WriteLine(dt.Month.ToString());   //       11
     26 Console.WriteLine(dt.Second.ToString());   //      30
     27 Console.WriteLine(dt.Ticks.ToString());   //       633948312908014024
     28  
     29 Console.WriteLine(dt.TimeOfDay.ToString());   //       12:29:51.5181524
     30 // Gets the time of day for this instance.
     31 // 返回 A System.TimeSpan that represents the fraction of the day that has elapsed since midnight.
     32 Console.WriteLine(dt.ToString());     //     26/11/2009 PM 12:29:51
     33 Console.WriteLine(dt.AddYears(1).ToString());    //         26/11/2010 PM 12:29:51
     34 Console.WriteLine(dt.AddDays(1.1).ToString());    //        27/11/2009 PM 2:53:51
     35 Console.WriteLine(dt.AddHours(1.1).ToString());    //       26/11/2009 PM 1:35:51
     36 Console.WriteLine(dt.AddMilliseconds(1.1).ToString());    //26/11/2009 PM 12:29:51
     37 Console.WriteLine(dt.AddMonths(1).ToString());    //        26/12/2009 PM 12:29:51
     38 Console.WriteLine(dt.AddSeconds(1.1).ToString());    //     26/11/2009 PM 12:29:52
     39 Console.WriteLine(dt.AddMinutes(1.1).ToString());    //     26/11/2009 PM 12:30:57
     40 Console.WriteLine(dt.AddTicks(1000).ToString());    //      26/11/2009 PM 12:29:51
     41 Console.WriteLine(dt.CompareTo(dt).ToString());    //       0
     42 Console.WriteLine(dt.Add(new TimeSpan(1,0,0,0)).ToString());    // 加上一个时间段
     43 (注:
     44 System.TimeSpan为一个时间段,构造函数如下
     45 public TimeSpan(long ticks); // ticks: A time period expressed in 100-nanosecond units.
     46                            //nanosecond:十亿分之一秒   new TimeSpan(10,000,000)        为一秒
     47 public TimeSpan(int hours, int minutes, int seconds);
     48 public TimeSpan(int days, int hours, int minutes, int seconds);
     49 public TimeSpan(int days, int hours, int minutes, int seconds, int milliseconds);
     50  51 Console.WriteLine(dt.Equals("2005-11-6 16:11:04").ToString());     //        False
     52 Console.WriteLine(dt.Equals(dt).ToString());    //      True
     53 Console.WriteLine(dt.GetHashCode().ToString());    //       1103291775
     54 Console.WriteLine(dt.GetType().ToString());    //       System.DateTime
     55 Console.WriteLine(dt.GetTypeCode().ToString());    //       DateTime
     56   
     57 long Start = Environment.TickCount;   //单位是毫秒
     58 long End = Environment.TickCount;
     59 Console.WriteLine("Start is : "+Start);
     60 Console.WriteLine("End is : "+End);
     61 Console.WriteLine("The Time is {0}",End-Start);
     62 Console.WriteLine(dt.GetDateTimeFormats('s')[0].ToString());    //2009-11-26T13:29:06
     63 Console.WriteLine(dt.GetDateTimeFormats('t')[0].ToString());    //PM 1:29
     64 Console.WriteLine(dt.GetDateTimeFormats('y')[0].ToString());    //2009年11月
     65 Console.WriteLine(dt.GetDateTimeFormats('D')[0].ToString());    //2009年11月26日
     66 Console.WriteLine(dt.GetDateTimeFormats('D')[1].ToString());    //星期四, 26 十一月, 2009
     67 Console.WriteLine(dt.GetDateTimeFormats('D')[2].ToString());    //26 十一月, 2009
     68 Console.WriteLine(dt.GetDateTimeFormats('D')[3].ToString());    //星期四 2009 11 26
     69 Console.WriteLine(dt.GetDateTimeFormats('M')[0].ToString());    //26 十一月
     70 Console.WriteLine(dt.GetDateTimeFormats('f')[0].ToString());    //2009年11月26日 PM 1:29
     71 Console.WriteLine(dt.GetDateTimeFormats('g')[0].ToString());    //26/11/2009 PM 1:29
     72 Console.WriteLine(dt.GetDateTimeFormats('r')[0].ToString());    //Thu, 26 Nov 2009 13:29:06 GMT
     73 (注:
     74 常用的日期时间格式:
     75 格式 说明      输出格式 
     76 d 精简日期格式 MM/dd/yyyy 
     77 D 详细日期格式 dddd, MMMM dd, yyyy 
     78 f  完整格式    (long date + short time) dddd, MMMM dd, yyyy HH:mm 
     79 F 完整日期时间格式 (long date + long time) dddd, MMMM dd, yyyy HH:mm:ss 
     80 g 一般格式 (short date + short time) MM/dd/yyyy HH:mm 
     81 G 一般格式 (short date + long time) MM/dd/yyyy HH:mm:ss 
     82 m,M 月日格式 MMMM dd 
     83 s 适中日期时间格式 yyyy-MM-dd HH:mm:ss 
     84 t 精简时间格式 HH:mm 
     85 T 详细时间格式 HH:mm:ss
     86 )
     87  
     88 Console.WriteLine(string.Format("{0:d}", dt));    //28/12/2009
     89 Console.WriteLine(string.Format("{0:D}", dt));    //2009年12月28日
     90 Console.WriteLine(string.Format("{0:f}", dt));    //2009年12月28日 AM 10:29
     91 Console.WriteLine(string.Format("{0:F}", dt));    //2009年12月28日 AM 10:29:18
     92 Console.WriteLine(string.Format("{0:g}", dt));    //28/12/2009 AM 10:29
     93 Console.WriteLine(string.Format("{0:G}", dt));    //28/12/2009 AM 10:29:18
     94 Console.WriteLine(string.Format("{0:M}", dt));    //28 十二月
     95 Console.WriteLine(string.Format("{0:R}", dt));    //Mon, 28 Dec 2009 10:29:18 GMT
     96 Console.WriteLine(string.Format("{0:s}", dt));    //2009-12-28T10:29:18
     97 Console.WriteLine(string.Format("{0:t}", dt));    //AM 10:29
     98 Console.WriteLine(string.Format("{0:T}", dt));    //AM 10:29:18
     99 Console.WriteLine(string.Format("{0:u}", dt));    //2009-12-28 10:29:18Z
    100 Console.WriteLine(string.Format("{0:U}", dt));    //2009年12月28日 AM 2:29:18
    101 Console.WriteLine(string.Format("{0:Y}", dt));    //2009年12月
    102 Console.WriteLine(string.Format("{0}", dt));    //28/12/2009 AM 10:29:18
    103 Console.WriteLine(string.Format("{0:yyyyMMddHHmmssffff}", dt));    //200912281029182047
    104  
    105 计算2个日期之间的天数差
    106 DateTime dt1 = Convert.ToDateTime("2007-8-1");    
    107 DateTime dt2 = Convert.ToDateTime("2007-8-15");   
    108 TimeSpan span = dt2.Subtract(dt1);              
    109 int dayDiff = span.Days ;                    
    110  
    111 计算某年某月的天数
    112 int days = DateTime.DaysInMonth(2009, 8);       
    113 days = 31;                                      
    114  
    115 给日期增加一天、减少一天
    116 DateTime dt =DateTime.Now;
    117 dt.AddDays(1); //增加一天 dt本身并不改变
    118 dt.AddDays(-1);//减少一天 dt本身并不改变
    View Code

     eg3:

    转换秒为分秒

     answerAverageTime = TimeSpan.FromSeconds(u.answerAverageTime).ToString(@"mm:ss"),

     获取数据库列表时,对时间格式进行处理

    1                                              var demolList = demo.Entities
    2                                             .OrderByDescending(a => a.addTime)
    3                                             .ToList()
    4                                             .Select(b => new
    5                                             {
    6                                                 addTime = Convert.ToDateTime(b.addTime).ToString("yyyy-MM-dd HH:mm"),
    7                                             })
    8                                             .ToList();                                                            
    View Code

     对格式进行处理

     1 demo= u.demoDouHao.Replace(",", ""), 

    一,jq获取两日期的月数

    //返回两个日期相差的月数
    function MonthsBetw(date1, date2) {
    //用-分成数组
    date1 = date1.split("-");
    date2 = date2.split("-");
    //获取年,月数
    var year1 = parseInt(date1[0]),
    month1 = parseInt(date1[1]),
    year2 = parseInt(date2[0]),
    month2 = parseInt(date2[1]),
    //通过年,月差计算月份差
    months = (year2 - year1) * 12 + (month2 - month1) + 1;
    return months;
    }

     二,两日期进行比较

    //必须大于当前日期
    var ayear = new Date().getFullYear();
    var amonth = new Date().getMonth() + 1;
    var aday = new Date().getDate();
    var jhDate = $("#invoicingDate").val();
    var adate = new Date((ayear + "-" + amonth + "-" + aday).replace("-", "/"));
    var aadate = new Date(jhDate.replace("-", "/"));
    if (aadate < adate) {
        alert("计划日期必须大于等于当前日期");
        return false;
    }

    公共方法

    //返回比较日期的大小
    function CompareDate(d1, d2) {
        return ((new Date(d1.replace(/-/g, "/"))) < (new Date(d2.replace(/-/g, "/"))));
    }
    作者:chenze
    出处:https://www.cnblogs.com/chenze-Index/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    D
    洛谷P2002 消息扩散
    洛谷P5058 [ZJOI2004]嗅探器
    洛谷P2746 校园网Network of Schools
    洛谷P3388 【模板】割点(割顶)
    洛谷P1407 [国家集训队]稳定婚姻
    2018年12月18日
    洛谷P1547 Out of Hay
    洛谷P4018 Roy&October之取石子
    洛谷P1318 积水面积
  • 原文地址:https://www.cnblogs.com/chenze-Index/p/9274842.html
Copyright © 2011-2022 走看看