【问题标题】:declaring a startdate & endate using joda time? [duplicate]使用 joda 时间声明开始日期和结束日期? [复制]
【发布时间】:2018-01-30 04:14:17
【问题描述】:

我已经导入了 joda 库,并且能够导入 Easy Reader 类。但是,我需要正确格式化的帮助,以便我可以计算两者之间的天数,是的,我熟悉 MM/dd/yyyy,但我使用了整数。我需要导入其他东西吗?我是joda的新手,所以请耐心等待,谢谢。一切似乎都正常,但我找不到正确的语法来帮助我找到两个日期之间的差异,我找不到它。

import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.joda.time.LocalDate;
class starter{
public static void BdayPrgm(String args[]){

System.out.println("Please Enter Today's Month: ");
        EasyReader month = new EasyReader();
        //this will indentify it as an INT, not a string.
        //quest is a question btw.
        todaysmon = month.readInt();

        System.out.println("What number is today?: ");
        EasyReader currentday = new EasyReader();
        todayday = currentday.readInt();



        System.out.println("What is today's year?: ");
        EasyReader todayyear = new EasyReader();
        year = todayyear.readInt();

        System.out.println("");

        System.out.println("What is your BdayMonth?: ");
        EasyReader thatyear = new EasyReader();
        bdaymon = thatyear.readInt();

        System.out.println("What is your Bday #?: ");
        EasyReader thatday = new EasyReader();
        thatgr8day = thatday.readInt();

        System.out.println("What is the bdayyear?: ");
        EasyReader bdayyear = new EasyReader();
        bdayyr = bdayyear.readInt();


        int age;
        age = year - bdayyr;


        //we can get start date by putting test maybe?
        DateTimeZone LA = DateTimeZone.forID("America/Los_Angeles");
        LocalDate start = new LocalDate(year,todaysmon,todayday);
        LocalDate end = new LocalDate(year,bdaymon,thatgr8day);

        int Days;
        //code isn't compileing below. I don't know what I'm doing wrong.
        Days.daysBetween(new LocalDate(start),new LocalDate(end)).getDays();

        //int days = d.getdays;

        System.out.println("");

        System.out.println(CELEB1+" is going to be "+age+" years old in X days!");

}

}

【问题讨论】:

标签: java jodatime


【解决方案1】:

这个

int Days;
Days.daysBetween(new LocalDate(start),new LocalDate(end)).getDays();

应该是这样的

int dayCount = Days.daysBetween(start, end).getDays();

因为startend 已经是LocalDate(s) 并且您想保存调用的结果。此外,您应该只需要 一个 EasyReader instance。而且,您需要添加

import org.joda.time.Days;

【讨论】:

  • C:\Users\owner\Desktop\BdayAssignment>javac *.java starter.java:81: 错误:找不到符号 int dayCount = Days.daysBetween(start, end).getDays(); ^ 符号:变量 Days 位置:类启动器 1 错误 C:\Users\owner\Desktop\BdayAssignment>pause 按任意键继续。 . .它仍然没有编译。我试图找到正确的参数,但它是错误的......
  • @PYRO912 import org.joda.time.Days;
  • 它有效。谢谢。忘记添加导入
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-13
  • 2012-08-19
  • 2020-10-05
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多