将字符串解析为日期

时间:2014-08-17 12:21:01

标签: java

我对这个程序有些怀疑......代码低于......怀疑是 -

  1. 解析日期和时间是什么意思?
  2. args []如何长度?
  3. if语句args.length == 0是什么意思?" 1818-11-11":args [0]; ?
  4. 代码:

    import java.util.*;
    import java.text.*;
    
    public class Test {
        public static void main(String args[]) {
            SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
            String input = args.length == 0 ? "1818-11-11" : args[0];
            System.out.print(input + " Parses as ");
            Date t;
            try {
                t = ft.parse(input);
                System.out.println(t);
            } catch (ParseException e) {
                System.out.println("Unparseable using " + ft);
            }
        }
    }
    

2 个答案:

答案 0 :(得分:1)

启动Java程序时,可以传递参数:

java com.foo.Test a b c d

在上面的例子中,a,b,c和d是程序的4个参数。 main方法可以访问由Java传递给main方法的args数组中的这些参数。

String input = args.length == 0 ? "1818-11-11" : args[0];

使用三元运算符。它相当于

String input;
if (args.length == 0) {
    input = "1818-11-11";
}
else {
    input = args[0];
}

args.length是数组args的长度。它等于0,则表示数组为空,即没有参数传递给Java程序。

这是您的教程或介绍性Java书必须涵盖的非常基本的内容。

请参阅http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.htmlhttp://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html以及http://docs.oracle.com/javase/tutorial/getStarted/application/

答案 1 :(得分:0)

What is parsing of date and time means ?

这意味着您在字符串中获得了一个日期,并且您希望将给定的Date作为Object,然后使用SimpleDateForamt的parse()方法

注意 - 您不能期望使用以不同格式设置的SimpleDateFormat解析日期。

How can args[] have length ?

因为它是一个数组所以很明显它会有长度。请参阅command-line argument

上面已经回答了第三个问题