如何根据1900年1月1日到某一日的天数来获得某一日日期?

问题描述

例如1900年1月1日 到 2010年11月18日 的总天数为 40498已知 40498如何计算出1900年1月1日后的40498天是2010年11月18日呢?注:用java来实现

解决方案

引用Java代码 public static void main(String[] args) { Calendar cal = Calendar.getInstance(); cal.set(1900, 0, 1); // Calendar cal2 = Calendar.getInstance(); // cal2.set(2010, 10, 18); // // long calm = cal.getTimeInMillis(); // long cal2m = cal2.getTimeInMillis(); // long re = (cal2m - calm)/1000/60/60/24; // System.out.println(re); cal.add(Calendar.DAY_OF_MONTH, 40498); System.out.println(cal.get(Calendar.YEAR)); System.out.println(cal.get(Calendar.MONTH)); System.out.println(cal.get(Calendar.DAY_OF_MONTH)); } LeeYee (中级程序员) 2012-03-16更正下,cal.get(Calendar.MONTH)定义的月是从0开始的,也就是0代表一月。public static void main(String[] args) {Calendar cal = Calendar.getInstance();cal.set(1900, 0, 1);cal.add(Calendar.DAY_OF_MONTH, 40498);System.out.print(cal.get(Calendar.YEAR) + "年");System.out.print(cal.get(Calendar.MONTH) + 1 + "月");System.out.println(cal.get(Calendar.DAY_OF_MONTH) + "日");}其实你可以直接查看Calendar API,API里有详细的说明
解决方案二:
import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import org.apache.commons.lang.time.DateUtils;public class TestDate {public static void main(String[] args){Calendar c = new GregorianCalendar(1900,0,1);Date d = c.getTime();System.out.println(d.toLocaleString());Date _d = DateUtils.addDays(d, 40498);System.out.println(_d.toLocaleString());}}
解决方案三:
public static void main(String[] args) {Calendar cal = Calendar.getInstance();cal.set(1900, 0, 1);// Calendar cal2 = Calendar.getInstance();// cal2.set(2010, 10, 18);//// long calm = cal.getTimeInMillis();// long cal2m = cal2.getTimeInMillis();// long re = (cal2m - calm)/1000/60/60/24;// System.out.println(re);cal.add(Calendar.DAY_OF_MONTH, 40498);System.out.println(cal.get(Calendar.YEAR));System.out.println(cal.get(Calendar.MONTH));System.out.println(cal.get(Calendar.DAY_OF_MONTH));}
解决方案四:
Calendar car = Calendar.getInstance(); car.set(Calendar.YEAR, 1900); car.set(Calendar.MONTH, 1); car.set(Calendar.DAY_OF_YEAR, 1); car.add(Calendar.DAY_OF_YEAR, 40498 ); System.out.println(car.getTime());

时间: 2024-09-23 17:38:19

如何根据1900年1月1日到某一日的天数来获得某一日日期?的相关文章

计算2000年01月01日起到指定日的天数

这是一个计算2000年01月01日起到指定日的天数的函数 <br> (算头也算尾)日期格式为:YYYY-MM-DD <br> <?php //    计算从2000年01月01日开始到某日的天数 function cal_start2end($end_day,$start_day) { $start_day=ereg_replace("-","",$start_day); $end_day=ereg_replace("-&qu

计算2000年01月01日起到指定日的天数_php基础

这是一个计算2000年01月01日起到指定日的天数的函数 <br> (算头也算尾)日期格式为:YYYY-MM-DD <br> <?php //    计算从2000年01月01日开始到某日的天数 function cal_start2end($end_day,$start_day) { $start_day=ereg_replace("-","",$start_day); $end_day=ereg_replace("-&qu

大连中考成绩今日开始查询录取结果7月30日发放

■两种方式查分 1.市内四区及高新园区考生的成绩由大连市教育局委托有关机构发放,考生本人于7月15日10:00至16:00,7月16日13:30至16:00,持准考证.毕业证 (两证必须齐全)到指定地点领取成绩单. 2.拨打16898169 7月15日6:30~8:00: 按照提示音输入9位数准考证号: 查询次数不限,1个半小时后,168信息台信箱将自动关闭. 晨报讯(首席记者辛敏娟) 7月15日早上,大连市2009年中考考生可以查询中考考试成绩,早6:30~8:00,查询时间为1个半小时,查询

Apple Pay支付系统或于10月18日正式启用

Walgreens发布内部备忘录提醒员工准备即将到来的http://www.aliyun.com/zixun/aggregation/5541.html">Apple Pay发布 新浪科技讯 北京时间10月13日早间消息,苹果此前已经宣布,其移动支付系统将于本月启用,不过并未确认具体时间.一份泄露的备忘录显示,美国连锁药店Walgreens将于10月18日启用这一支付服务. 美国科技博客MacRumors曝光了这一备忘录.其中显示,Apple Pay将于10月18日启用.目前尚不清楚,这一

千呼万唤始出来传《剑灵》4月27日首次封测

4月7日最新消息,有国外媒体日前报料称,备受期待的韩国网游新作<剑灵>有望于本月开始封测.报道称,NCSoft已经确认将于4月27日开始游戏的首次封测,而公测日期仍未确定.稍后他们会正式公布这一消息. <剑灵>是韩国NCSOFT公司续<天堂>系列和<永恒之塔>之后,又一精心打造的重量级MMORPG游戏.<剑灵>通过艺术般的竞技方式,表现了华丽.充满劲道的战斗美学,包括2重格斗技.泰拳.太极拳.拔刀术等,游戏中,玩家还将可体验到身轻如燕的疾走.飞檐

传《剑灵》将于4月27日首次封测官方未确认

(编译/凯蒂鱼)据海外媒体报道,韩国网游商NCSoft的最新力作<剑灵>有望于本月开始首次封测. 消息来自一个域名为bladeandsouldojo.com的网站,称<剑灵>的首次封测日期肯定不会早于4月18日,而最有可能开始封测的日期将会是在4月27日.据称NCSoft内部已经定下了这个日期,但他们没有提及游戏的公测时间表.需要指出的是,NCSoft官方尚未对此做出公开确认,因此不排除日期有变的可能. 网站截图 <剑灵>是韩国知名网游开发商NCsoft的最新作品.这是

为什么编程语言以及数据库要从1970年1月1日开始计算时

今天一时兴起想起了在SQL Server中使用DateTime.MinValue插入时间时报错的问题,原因就在于数据库的最小时间和.Net里的最小时间不一致导致的,网上查阅了些资料,找到如下结果 Net Framewrok 中, DateTime.MinValue           => 0001/01/01 00:00:00 SqlDateTime.MinValue.Value  => 1753/01/01 00:00:00   SQL Server 2005 中, DateTime 最小

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

问题描述 一年有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

国家发改委于2月10日公布了对美国芯片巨头高通公司的调查处罚结果

摘要: 经过历时14个月的反垄断调查,国家发改委于2月10日公布了对美国芯片巨头高通公司的调查处罚结果.对高通公司滥用市场支配地位实施排除.限制竞争的垄断行为,执法机构在责令高 经过历时14个月的反垄断调查,国家发改委于2月10日公布了对美国芯片巨头高通公司的调查处罚结果.对高通公司滥用市场支配地位实施排除.限制竞争的垄断行为,执法机构在责令高通公司停止违法行为的同时,依法对高通公司处以2013年度在我国市场销售额8%的罚款,共计人民币60.88亿元(约合9.75亿美元).据了解,这一金额再次刷