对年、月、日处理清楚的同学进来了哇。。

问题描述

一年有365天或366天给你从1-366个数字中的一个然后再给你一个年份如2012,2011然后你得出是这个年份的几月几日例子天数是:32年数是2012结果是2012年2月1日天数是:61年数是2012结果是2012年3月1日 问题补充:直接调JAVA API的不行哈,我是在IOS平台下面

解决方案

public class YearTest {//定义每月的天数public static int month[]={31,28,31,30,31,30,31,31,30,31,30,31};//判断是否是闰年public static boolean isLeapYear(int year){boolean flag=false;if(year%400==0||(year%4==0 && year%100!=0)){ flag=true;}return flag;}//判断某天是一年当中某月的第几天public static int getDay(int m,int day){int sum=0;for(int i=0;i<m;i++){sum+=month[i];}return day-sum;}public static String getDetail(int year,int day){int sum=0;int m=0;int d=0;if(isLeapYear(year)){month[1]=29;}for(int i=0;i<month.length;i++){sum=sum+month[i];if(sum>=day){m=i;break;}}d=getDay(m,day);String result="哈哈,这是"+year+"年"+(m+1)+"月"+d+"日";return result;}/** * @param args */public static void main(String[] args) {String result=YearTest.getDetail(2012,61);System.out.println(result);}}
解决方案二:
直接调用java APICalendar cal=Calendar.getInstance();cal.set(Calendar.YEAR, 2012);cal.set(Calendar.DAY_OF_YEAR, 32); cal.getTime()//2012年2月1日
解决方案三:
用commons-lang最简单。DateUtils.addDays(new Date(year - 1900, 0, 1), day - 1);
解决方案四:
首先,根据年份能知道这一年是365还是366天然后看这个数字落在哪个区间就知道是哪个月了,再取余就知道是几号了.以365天的为例1月结束 31天2月结束 59天3月结束 90天4月结束 120天5月结束 151天6月结束 181天7月结束 212天8月结束 243天9月结束 273天10月结束 304天11月结束 334天12月结束 365天假设数字是61num=61int month;int day;if (num > 334) { day = num % 334; month = 11;} else if (num > 304) { day = num % 304; month = 10;}......

时间: 2025-01-21 11:26:19

对年、月、日处理清楚的同学进来了哇。。的相关文章

MYSQL截取日期格式 年,月,日

  MYSQL 截取日期格式 年,月,日 select DATE_FORMAT(produceDate, '%Y') as yeahr from historybarcodesort where DATE_FORMAT(produceDate, '%Y')='2013' 返回结果:2013

技术-java权限+单点登录系统做过的同学进来

问题描述 java权限+单点登录系统做过的同学进来 最近工作不忙,想自己搞一个权限+单点登录系统.权限大概涉及组织.职位.人.菜单.按钮等,所有通过单点登录的系统,都用这套权限. 有没有搞过的大神,java 用哪些技术实现?给指点指点.

php之上传小案例,根据时间:月日分创建目录并随机生成文件名

<?php /* 接收文件,并分目录存储,生成随机文件名 1.根据时间戳,并按一定规则创建目录 2.获取文件名的后缀名 3.判断大小 */ //根据月日分计算并创建目录 function mk_dir(){ $dir = date('md/i', time()); if(is_dir('./' .$dir)){ return $dir; }else{ mkdir('./'.$dir,0777,true); return $dir; } } //获取文件后缀 function getExt($fi

Java实现“年-月-日 上午/下午时:分:秒”的简单代码_java

如何借助SimpleDateFormat类实现"年-月-日 上午/下午时:分:秒"日期的格式化: import java.text.SimpleDateFormat; import java.util.Date; public class Test { public static void main(String[] args) { System.out.println(new SimpleDateFormat("yyyy-MM-dd ahh:mm:ss").for

维也纳酒店微信订房上线3个月日订房量提升1200%的秘密

中介交易 SEO诊断 淘宝客 云主机 技术大厅 维也纳酒店微信订房上线3个月日订房量提升1200%,维也纳微信服务号11月底正式上线,短短3个月的运营,日订房由以前的每日50房晚上升到2月份700多房晚,到3月的1000间房晚,平均半个月增加一百房晚,粘性逐步增加,绑定微信用户订房比例逐步提升,维也纳微信运营的成功在我看来,主要是天时(订房刚需).地利(老会员转微信粉丝).人和(专业团队对微信订房产品定义),借此机会解析一下维也纳微信是如何运作的吧. 1.行业刚需大背景: 2013年是微信营销元

js 日期正则表达式支持月日验证

这款js 日期正则表达式支持月日验证,我们会一一举例说明一下有关日期验证表达式的函数实例了. function isdate(str){ var result=str.match(/^(d{4})(-|/)(d{1,2})2(d{1,2})$/); if(result==null) return false; var d=new Date(result[1], result[3]-1, result[4]); return (d.getFullYear()==result[1] && d.

JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码_javascript技巧

关键代码如下所示: function formatDate(NewDtime) var dt = new Date(parseInt(NewDtime.slice(6, 19))); var year = dt.getFullYear(); var month = dt.getMonth() + 1; var date = dt.getDate(); var hour = dt.getHours(); var minute = dt.getMinutes(); var second = dt.g

Excel月日不足10在前面添0的公式代码

  一.月不足10在前面添0的公式 以当前即当天的日期为参照对象,使用如下公式: =IF(MONTH(NOW())<10,0&MONTH(NOW()),MONTH(NOW())) 二.日不足10在前面添0的公式 以当前即当天的日期为参照对象,使用如下公式: =IF(DAY(NOW())<10,0&DAY(NOW()),DAY(NOW()))

阿里云个人免费套餐6个月,希望获得的同学可以看过来!

个人免费套餐包含6  款热门产品,包含云服务器 ECS.负载均衡.云数据库 RDS.云数据库 Redis 版 弹性公网 IP.对象存储 OSS 等30+款长期免费云产品. 如果你喜欢,可以联系我! 总体来说,阿里云的服务器免费套餐稳定和正常版没有什么区别,花上一点时间就可以上手,布置自己的生产环境. 现在免费套餐很抢手,免费名额有限,可以掏钱在淘宝买 9元钱,也可以在我这里领取,免费 联系我Q:2236528008 目前20枚激活码,2017年8月2日 另外还有阿里云幸运码 :dwz.cn/yh