zoukankan      html  css  js  c++  java
  • C#计算两个时间年份月份天数(根据生日计算年龄)差,求时间间隔

    C#计算两个时间年份月份差

    DateTime dt1 = Convert.ToDateTime("2008-8-8");

    DateTime dt2 = System.DateTime.Now;

    int Year = dt2.Year - dt1.Year;

    int Month = (dt2.Year - dt1.Year) * 12 + (dt2.Month - dt1.Month);

    计算两个日期的时间间隔

    TimeSpan ts1=new   TimeSpan(DateTime1.Ticks);

    TimeSpan ts2=new   TimeSpan(DateTime2.Ticks);

    TimeSpan ts=ts1.Subtract(ts2).Duration();

    dateDiff=ts.Days.ToString()+"天"

    +ts.Hours.ToString()+"小时"

    +ts.Minutes.ToString()+"分钟"

    +ts.Seconds.ToString()+"秒";

    TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值

    下面的列表涵盖了其中的一部分:

    Add:与另一个TimeSpan值相加。

    Days:返回用天数计算的TimeSpan值。

    Duration:获取TimeSpan的绝对值。

    Hours:返回用小时计算的TimeSpan值

    Milliseconds:返回用毫秒计算的TimeSpan值。

    Minutes:返回用分钟计算的TimeSpan值。

    Negate:返回当前实例的相反数。

    Seconds:返回用秒计算的TimeSpan值。

    Subtract:从中减去另一个TimeSpan值。

    Ticks:返回TimeSpan值的tick数。

    TotalDays:返回TimeSpan值表示的天数。

    TotalHours:返回TimeSpan值表示的小时数。

    TotalMilliseconds:返回TimeSpan值表示的毫秒数。

    TotalMinutes:返回TimeSpan值表示的分钟数。

    TotalSeconds:返回TimeSpan值表示的秒数。

    label1.Text = "2004-1-1 15:36:05";

    label2.Text = "2004-3-1 20:16:35";

    DateTime d1 =new DateTime(2004,1,1,15,36,05);

    DateTime d2 =new DateTime(2004,3,1,20,16,35);

    TimeSpan d3 = d2.Subtract(d1);

    label3.Text = "相差:"

    +d3.Days.ToString()+"天"

    +d3.Hours.ToString()+"小时"

    +d3.Minutes.ToString()+"分钟"

    +d3.Seconds.ToString()+"秒";

    计算天数间隔

    int interval = new TimeSpan(dtThis.Ticks - dtLast.Ticks).Days;

    DateTime t1 = Convert.ToDateTime("2015-1-6"); 
    DateTime t2 = Convert.ToDateTime("2015-1-16"); 
    int day=Math.Abs(((TimeSpan)(t1 - t2)).Days); 

    根据生日计算岁数(年份差)

    方法一

    public int CalculateAgeCorrect(DateTime birthDate, DateTime now)
    {
      int age = now.Year - birthDate.Year;
      if (now.Month < birthDate.Month || (now.Month == birthDate.Month && now.Day < birthDate.Day)) age--;
      return age;
    }

    方法二(yyyy-MM-dd格式)

    string m_Str = "1984-04-04";
    int m_Y1 = DateTime.Parse(m_Str).Year;
    int m_Y2 = DateTime.Now.Year;
    int m_Age = m_Y2 - m_Y1;
    Response.Write(m_Age);

    方法三

      20080814-19800703=280111

         去除最后4位 = 28.

    int now =int.Parse(DateTime.Today.ToString("yyyyMMdd"));
     
    int dob =int.Parse(dateDOB.ToString("yyyyMMdd"));
     
    string dif =(now - dob).ToString();
     
    string age ="0";
     
    if(dif.Length>4)
      age = dif.Substring(0, dif.Length-4);

    方法四

    DateTime now =DateTime.Today;
     
    int age = now.Year- bday.Year;
     
    if(bday > now.AddYears(-age)) age--;
  • 相关阅读:
    微服务
    flume
    mongodb
    Java 代理学习笔记
    HttpClient连接池
    一起写RPC
    spring boot cloud
    .NET MVC 表主外键关系 JSON 无限循环 方案二(推荐)
    EF提示“序列化类型为XXX的对象时检测到循环引用”
    Handlebars.js registerHelper
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/4910884.html
Copyright © 2011-2022 走看看