philture 2017-11-12 07:22 采纳率: 100%
浏览 2113
已采纳

JAVA怎么获取当前时间?为什么当前时间和我前面输入的时间有关系?

package test4;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.*;
public class birth {

public static void main(String[] args) {
    // TODO 自动生成的方法存根
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入你的生日:例如1949-10-01");
    String bir=sc.nextLine();
    String year=bir.substring(0,4);
    String month=bir.substring(5,7);
    String day=bir.substring(8,10);
    Calendar cel=Calendar.getInstance();
    cel.set(Integer.parseInt(year), Integer.parseInt(month),Integer.parseInt(day));
    java.util.Date date1=cel.getTime();

    System.out.println("输出对应的是星期几:");
    int week=cel.get(Calendar.DAY_OF_WEEK);
    switch(week){
    case 1:System.out.println("MONDAY");
    break;
    case 2:System.out.println("TUESDAY");
    break;
    case 3:System.out.println("WEDNSSDAY");
    break;
    case 4:System.out.println("THESDAY");
    break;
    case 5:System.out.println("FIRDAY");
    break;
    case 6:System.out.println("SAtuatday");
    break;
    case 7:System.out.println("sunday");
    break;

    }
    int nowday=cel.get(Calendar.DATE);
    int nowyear=cel.get(Calendar.YEAR);
    int nowmonth=cel.get(Calendar.MONTH);
    System.out.println(nowmonth);
    System.out.println(nowyear);
    System.out.println(nowday);

}}


前面的代码判断星期几我是对了,后面要计算输入的日期和当前日期差几天,我试了几次都不对,然后试了下输出当前时间,发现是当前时间有问题。想问下JAVA怎么获得当前时间?我的代码哪里出错了?

  • 写回答

6条回答 默认 最新

  • 天之上有什么 2017-11-12 13:40
    关注

    图片说明,这是获取当前日期的方法。
    图片说明,判断的星期几是错的,例子如下:
    图片说明
    问题二:图片说明
    图片说明,原因是因为正确月份获取是在你设置的值上加一,
    问题三:图片说明
    最后,如果想知道输入日期的值和当前日期相差的天数只需要用一个转化为Date对象d1,再新建一个Date对象d2,然后两个都转化为毫秒数显示,两个对象的值相减就能得到两者相差的毫秒数,然后转化为天数就可以输出了。
    这么多操作实属不易,满意的话还请采纳答案。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services