SimpleDateFormat显示的信息太多



这是一个根据https://en.wikipedia.org/wiki/Biorhythm,效果很好。然而,在执行时,程序会显示日期,例如"Fri Apr 08 00:00:00 EET 2014",但我希望它不显示小时、分钟、秒和时区。该怎么办?

import java.util.Scanner;
import java.util.Date; 
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class bior {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String nameOne;
        String nameTwo;
        String dobOneIn;
        String dobTwoIn;
        Date dobOne = new Date();
        Date dobTwo = new Date();
        boolean validEntry;
        SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");
        System.out.println("Enter name of first person!");
        nameOne = input.nextLine();
        while (nameOne.equals("")) {
            System.out.println("Enter name of first person!");
            nameOne = input.nextLine();
        }
        System.out.println("Enter name of second person!");
        nameTwo = input.nextLine();
        while (nameTwo.equals("")) {
            System.out.println("Enter name of second person!");
            nameTwo = input.nextLine();
        }   
         do {
                try {
                    System.out.println("Enter date of birth of " + nameOne + "! (MM/DD/YYYY)");
                    dobOneIn = input.nextLine();
                    dobOne = format.parse(dobOneIn);
                    validEntry = true;
                    }
                catch (ParseException e) {
                    validEntry = false;
                     }
            } while (!validEntry);
         do {
                try {
                    System.out.println("Enter date of birth of " + nameTwo + "! (MM/DD/YYYY)");
                    dobTwoIn = input.nextLine();
                    dobTwo = format.parse(dobTwoIn);
                    validEntry = true;
                    }
                catch (ParseException e) {
                    validEntry = false;
                     }
            } while (!validEntry);
        int diff = Math.abs((int)((dobOne.getTime() - dobTwo.getTime()) / (24 * 60 * 60 * 1000)));
        System.out.println();
        System.out.println("Name of second person: " + nameTwo + ".");
        System.out.println("DOB of " + nameOne + ": " + dobOne + ".");
        System.out.println("DOB of " + nameTwo + ": " + dobTwo + ".");
        System.out.println("Difference between DOBs (days): " + diff + ".");
        float physicalBio = diff % 23;
        float emotionalBio = diff % 28;
        float intellectualBio = diff % 33;
        physicalBio = physicalBio / 23;
        emotionalBio = emotionalBio  / 28;
        intellectualBio = intellectualBio / 33;
        if (physicalBio > 0.5) {
            physicalBio = 1 - physicalBio;
        }
        if (emotionalBio > 0.5) {
            emotionalBio = 1 - emotionalBio;
        }
        if (intellectualBio > 0.5) {
            intellectualBio = 1 - intellectualBio;
        }
        physicalBio = 100 - (physicalBio * 100);
        emotionalBio = 100 - (emotionalBio  * 100);
        intellectualBio = 100 - (intellectualBio * 100);
        System.out.println("Physical compatibility: " + java.lang.Math.round(physicalBio) + " %.");
        System.out.println("Emotional compatibility: " + java.lang.Math.round(emotionalBio) + " %.");
        System.out.println("Intellectual compatibility: " + java.lang.Math.round(intellectualBio) + " %.");
    }
}

您声明了SimpleDateFormat,但从未使用过它:

试试这个:

System.out.println("DOB of " + nameOne + ": " + format.format(dobOne) + ".");

您应该进行以下修改:

System.out.println("DOB of " + nameOne + ": " + format.format(dobOne) + ".");
    System.out.println("DOB of " + nameTwo + ": " + format.format(dobTwo) + ".");

SimpleDateFormat具有用于此目的的format(Date-Date)方法。

您可以在您的println语句中打印dobOneIndobTwoIn,该语句已经具有您需要的格式:

System.out.println();
System.out.println("Name of second person: " + nameTwo + ".");
System.out.println("DOB of " + nameOne + ": " + dobOneIn + ".");
System.out.println("DOB of " + nameTwo + ": " + dobTwoIn + ".");
System.out.println("Difference between DOBs (days): " + diff + ".");

最新更新