根据日期获取,x岁x月x天
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天的更多相关文章
- 根据日期字符串获取星期几,日期获取星期,时间获取星期,js获取星期
根据日期字符串获取星期几,日期获取星期,时间获取星期,js获取星期 >>>>>>>>>>>>>>>>&g ...
- Java日期获取需求大全
刚进公司,作为熟悉技术,为公司做了一个小的点餐系统的网站,其中大量用到了时间日期作为唯一标示或是显示设置.特总结了一下和大家分享. package com.lucis.ordering.Utils; ...
- Python:如何用一行代码获取上个月是几月
现在转一篇志军100发于公众号 Python之禅的文章: Python:如何用一行代码获取上个月是几月 抱歉我用了个有点标题党的标题,因为担心你错过了本文,但内容绝对干货,本文介绍的关于Python时 ...
- Oracle获取当前年、月、日的方法
Oracle获取当前年.月.日的方法 Oracle 获取当前年.月.日 1.//oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的 ...
- 微信小程序——获取当天的前一个月至后一个月
看标题也不知道你有没有明白我想表达的意思,先上个动态图吧~ 需要分析: 1.获取当前日期的前一个月,后一个月和当月.比如说现在是7月5号,我需要得到6月5号至8月5号的日期,同时还要返回当前的星期. ...
- C# DATETIME格式转换汇总 根据日期获取星期
原文:C# DATETIME格式转换汇总 根据日期获取星期 C# DateTime.Now.Year --2019(年) DateTime.Now.Month --9(月) DateTime.Now. ...
- Javascript获取最近若干个月
整理: 如果需要获取最近若干个月,牵扯到跨年的话,该怎么实现的问题,抽了点时间,代码如下: /**纪元时间获取最近12个月 * * @num 传入获取月的数目 **/ (function getMon ...
- php 日期 - 获取当月最后一天
/** * 日期-获取当月最后一天 * @return int */ public function get_lastday() { if($this->month==2) { $lastday ...
- php获取前一天,前一个月,前一年的时间
获取前一天的时间: $mytime= date("Y-m-d H:i:s", strtotime("-1 day")); 获取三天前的时间: $mytime= ...
随机推荐
- android黑科技系列——应用市场省流量更新(增量升级)原理解析
一.前言 最近在看热修复相关的框架,之前我们已经看过了阿里的Dexposed和AndFix这两个框架了,不了解的同学可以点击这里进行查看:Dexposed框架原理解析 和 AndFix热修复框架原理解 ...
- USB 接口探测分类
USB 接口探测分类 SDP (Standand Downstream Port) 标准下行接口 标准USB都支持的接口 这种端口的D+和D-线上具有15kΩ下拉电阻.限流值如上讨论:挂起时为2.5m ...
- VHDL之User-defined data types
VHDL allows the user to define own data types. 1 user-defined integer types -- This is indeed the pr ...
- VHDL之FSM
1 Intro The figure shows the block diagram of a single-phase state machine. The lower section contai ...
- [Advanced Algorithm] - Symmetric Difference
题目 创建一个函数,接受两个或多个数组,返回所给数组的 对等差分(symmetric difference) (△ or ⊕)数组. 给出两个集合 (如集合 A = {1, 2, 3}和集合 B = ...
- React Native Windows下环境安装(一)
1.安装chocolatey 以管理员权限运行命令提示符(cmd.exe) @powershell -NoProfile -ExecutionPolicy Bypass -Command " ...
- 在 CentOS 7 上设置 grub2
在 CentOS 7 上设置 grub2 1. 开机选单是自动创建出来的 请勿尝试手动编辑开机选单,因为它是按照 /boot/ 目录内的文件自动创建出来的.然而你可以调整 /etc/default/g ...
- BZOJ 3514 GERALD07加强版 (LCT+主席树)
题目大意:给定n个点m条边无向图,每次询问求当图中有编号为[L,R]的边时,整个图的联通块个数,强制在线 神题!(发现好久以前的题解没有写完诶) 我们要求图中联通块的个数,似乎不可搞啊. 联通块个数= ...
- [APIO2018]铁人两项 [圆方树模板]
把这个图缩成圆方树,把方点的权值设成-1,圆点的权值设成点双的size,算 经过这个点的路径的数量*这个点的点权 的和即是答案. #include <iostream> #include ...
- layui 导出excel复杂表头
众所周知 layui的导出功能很好用,但是今天我要给大家推荐一个更好用的 大家来到这里想必也是因为layui无法满足 [导出Excle复杂表头] 的业务需求而来,这里废话不多说但还是强调一点,如果你是 ...