weixin_42498200
weixin_42498200
2012-03-16 13:54

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

已采纳

例如1900年1月1日 到 2010年11月18日 的总天数为 40498

已知 40498
如何计算出1900年1月1日后的40498天是2010年11月18日呢?

注:用java来实现

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • oxcow oxcow 9年前

    [quote]
    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

    [/quote]

    更正下,cal.get(Calendar.MONTH)定义的月是从0开始的,也就是0代表一月。

    [code="java"] 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) + "日");
    
    }[/code]
    

    其实你可以直接查看Calendar API,API里有详细的说明

    点赞 评论 复制链接分享
  • suziwen suziwen 9年前

    [code="java"]
    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());
    }
    

    }[/code]

    点赞 评论 复制链接分享
  • oxcow oxcow 9年前

    [code="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));
    
    }
    

    [/code]

    点赞 评论 复制链接分享
  • iteye_8576 iteye_8576 9年前

    [code="java"]
    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());
    [/code]

    点赞 评论 复制链接分享

相关推荐