c#:

 DateTime startDate = new DateTime();
DateTime endDate = new DateTime(); int age =;
int month = ;
int day = ; if (endDate.Month>startDate.Month)
{
age = endDate.Year - startDate.Year;
month = endDate.Month - startDate.Month;
}
else
{
age = endDate.Year - startDate.Year-;
month =+ endDate.Month - startDate.Month;
} if (endDate.Day>startDate.Day)
{
day = endDate.Day - startDate.Day;
}
else
{
//上个月天数-startDate.Day+endDate.Day
day = (endDate-endDate.AddMonths(-)).Days - startDate.Day+endDate.Day;
month--;
}
Response.Write(string.Format("{0}岁{1}月{2}天", age, month, day));

php:

        $age=0;
$month=0;
$day=0; $startDate=strtotime("2010-09-08 07:06:05");
$endDate=strtotime("2015-06-05 07:06:05");
if(date('n',$endDate)>date('n',$startDate)){
$age=date('Y',$endDate)-date('Y',$startDate);
$month=date('n',$endDate)-date('n',$startDate);
}else{
$age=date('Y',$endDate)-date('Y',$startDate)-1;
$month=12+date('n',$endDate)-date('n',$startDate);
} if(date('j',$endDate)>date('j',$startDate)){
$day = date('j',$endDate)-date('j',$startDate);
}else{
$day= date('t',strtotime('-1 Month',$endDate))-date('j',$startDate)+date('j',$endDate);
$month--;
}
echo sprintf('%s岁%s月%s天',$age,$month,$day);

java:

 Calendar startDate = Calendar.getInstance();
startDate.setTime(new SimpleDateFormat("yyyy-MM-dd").parse("2010-09-08")); Calendar endDate = Calendar.getInstance();
endDate.setTime(new SimpleDateFormat("yyyy-MM-dd").parse("2010-10-5")); int age =0;
int month = 0;
int day = 0;
if(endDate.get(Calendar.MONTH)>startDate.get(Calendar.MONTH)){
age = endDate.get(Calendar.YEAR) - startDate.get(Calendar.YEAR);
month = endDate.get(Calendar.MONTH)-startDate.get(Calendar.MONTH);
}else{
age = endDate.get(Calendar.YEAR) - startDate.get(Calendar.YEAR)-1;
month =12+ endDate.get(Calendar.MONTH)-startDate.get(Calendar.MONTH);
} if(endDate.get(Calendar.DAY_OF_MONTH)>startDate.get(Calendar.DAY_OF_MONTH)){
day = endDate.get(Calendar.DAY_OF_MONTH)-startDate.get(Calendar.DAY_OF_MONTH);
}else{
Calendar preEndDate = Calendar.getInstance();
preEndDate.set(Calendar.YEAR, endDate.get(Calendar.YEAR));
preEndDate.set(Calendar.MONTH, endDate.get(Calendar.MONTH)-1);
preEndDate.set(Calendar.DATE, 1);
preEndDate.roll(Calendar.DATE, -1);
int preMonthDays = preEndDate.get(Calendar.DATE); //获取endDay 上个月的天数 day =preMonthDays+endDate.get(Calendar.DAY_OF_MONTH)-startDate.get(Calendar.DAY_OF_MONTH);
month--;
} System.out.printf("%s岁%s月%s天",age,month,day);

根据日期获取,x岁x月x天的更多相关文章

  1. 根据日期字符串获取星期几,日期获取星期,时间获取星期,js获取星期

    根据日期字符串获取星期几,日期获取星期,时间获取星期,js获取星期 >>>>>>>>>>>>>>>>&g ...

  2. Java日期获取需求大全

    刚进公司,作为熟悉技术,为公司做了一个小的点餐系统的网站,其中大量用到了时间日期作为唯一标示或是显示设置.特总结了一下和大家分享. package com.lucis.ordering.Utils; ...

  3. Python:如何用一行代码获取上个月是几月

    现在转一篇志军100发于公众号 Python之禅的文章: Python:如何用一行代码获取上个月是几月 抱歉我用了个有点标题党的标题,因为担心你错过了本文,但内容绝对干货,本文介绍的关于Python时 ...

  4. Oracle获取当前年、月、日的方法

    Oracle获取当前年.月.日的方法 Oracle 获取当前年.月.日 1.//oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的 ...

  5. 微信小程序——获取当天的前一个月至后一个月

    看标题也不知道你有没有明白我想表达的意思,先上个动态图吧~ 需要分析: 1.获取当前日期的前一个月,后一个月和当月.比如说现在是7月5号,我需要得到6月5号至8月5号的日期,同时还要返回当前的星期. ...

  6. C# DATETIME格式转换汇总 根据日期获取星期

    原文:C# DATETIME格式转换汇总 根据日期获取星期 C# DateTime.Now.Year --2019(年) DateTime.Now.Month --9(月) DateTime.Now. ...

  7. Javascript获取最近若干个月

    整理: 如果需要获取最近若干个月,牵扯到跨年的话,该怎么实现的问题,抽了点时间,代码如下: /**纪元时间获取最近12个月 * * @num 传入获取月的数目 **/ (function getMon ...

  8. php 日期 - 获取当月最后一天

    /** * 日期-获取当月最后一天 * @return int */ public function get_lastday() { if($this->month==2) { $lastday ...

  9. php获取前一天,前一个月,前一年的时间

    获取前一天的时间: $mytime= date("Y-m-d H:i:s", strtotime("-1 day")); 获取三天前的时间: $mytime= ...

随机推荐

  1. 玩转公众号markdown排版

    Md2All 简介 Markdown排版利器,支持 "一键排版" 的样式模板选择,支持"css样式自定义",支持80多种代码高亮. 能让Markdown内容,无 ...

  2. Gradle sync failed: Could not find method android() for arguments 错误的解决办法

    这个问题本质上是Android-gradle的一个使用限制. 对应的英文文档android_tool文档 如果你的App包含了多个Android模块, 应该尽量避免给每个模块手动指定编译SDK版本. ...

  3. RecyclerView 通用 Adapter

    先看使用方法

  4. sqlserver查询分析器在本地服务器查看其它SqlServer服务器内容

    exec sp_addlinkedserver 服务器自命名,'',sqloledb,要查询服务器的IP地址 exec sp_addlinkedsrvlogin 服务器自命名,false,null,账 ...

  5. AI:狄拉克之海上的涟漪

    延陵季子2011年  8月27日 19:02   借鉴英文原文:Ripples in the Dirac Sea 当他试着用一种轻松的口吻诉说一些事情时,我会明白,其实我们都明白,在他的心里绝对不是平 ...

  6. CNN结构:SPP-Net为CNNs添加空间尺度卷积-神经元层

    前几个CNN检测的框架要求网络的图像输入为固定长宽,而SPP-Net在CNN结构中添加了一个实现图像金字塔功能的卷积层SPP层,用于在网络中实现多尺度卷积,由此对应多尺度输入,以此应对图像的缩放变换和 ...

  7. 与swift协议相关的技术

    一.协议定义与实现: 1.关联类型: 2.协议组合: 3.协议扩展: 4.协议实现. 二.协议使用:

  8. 团体程序设计天梯赛-练习集-*L1-043. 阅览室

    L1-043. 阅览室 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为不超过100 ...

  9. Java多线程--线程交替

    要求:借助同步机制,sleep()方法,join()方法,实现动画显示:甲线程:1.3.5.7.9乙线程:2.4.6.8.10丙线程:a.b.c.d.emain()线程输出:线程开始,线程结束 输出结 ...

  10. Day 20 python基础总复习

    一.计算机基础 1.1 计算机基础之编程 编程语言是人与计算机之间交流的介质 编程就是写一堆文件 编程为了奴隶计算机,解放劳动力 1.2 计算机组成原理 CPU 控制器:控制硬件 运算器:逻辑运算和算 ...