A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 覃庆健 于 2013-4-20 06:00 编辑

例如 生日是1995-05-05, 今天是2013-04-13
我想用2013-04-13减去1995-05-05,来判断是否成年
怎么做。
要求精确到年月日..如2013-1995等于18这个不算,
还有大半月才成年呢
另,有没有能直接调用的方法呢(年月日直接相加减的)。

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

3 个回复

倒序浏览
我觉得写三个if语句应该就可以了!
回复 使用道具 举报
DateTime dt = new DateTime(1995,04,14);
TimeSpan ts =DateTime.Now-dt;
Console.WriteLine(ts.Days/365);//因为没有提供ts.Years属性,所以这个计算比较笼统,没有考虑闰年
回复 使用道具 举报
试试这个
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace test2
  6. {
  7.     class Program
  8.     {

  9.         static void Main(string[] args)
  10.         {
  11.             
  12.                 Console.WriteLine("请输入您的生日(比如1990-1-1)");
  13.                 string strDate = Console.ReadLine();
  14.                 bool is_adult = isAdult(strDate);
  15.                 if (is_adult == true)
  16.                 {
  17.                     Console.WriteLine("已成年");
  18.                 }
  19.                 else Console.WriteLine("未成年");
  20.             
  21.             Console.Read();
  22.         }
  23.         static bool isAdult(string date)
  24.         {
  25.             string[] strYear = date.Split('-');
  26.             int year = int.Parse(strYear[0]);
  27.             int month = int.Parse(strYear[1]);
  28.             int day = int.Parse(strYear[2]);
  29.             DateTime dt = DateTime.Now;
  30.             int currentYear = dt.Year;
  31.             int currentMonth = dt.Month;
  32.             int currentDay = dt.Day;
  33.             if (currentYear - year >= 18)
  34.             {
  35.                 if (currentMonth > month)
  36.                 {
  37.                     return true;
  38.                 }
  39.                 else if (currentMonth == month)
  40.                 {
  41.                     if (currentDay >= day) return true;
  42.                 }

  43.             }
  44.             
  45.                 return false;
  46.            
  47.         }

  48.       }
  49.     }

复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马