【问题标题】:Parsing Strings into Dates将字符串解析为日期
【发布时间】:2014-08-17 12:21:01
【问题描述】:

嗯,我对这个程序有一些疑问......代码如下......怀疑是 -

  1. 什么是解析日期和时间?
  2. args[] 怎么会有长度?
  3. if 语句中 args.length ==0 是什么意思?"1818-11-11": args[0]; ?

代码:

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);
        }
    }
}

【问题讨论】:

  • 请退后一步,阅读一本不错的 Java 入门书籍。
  • 至少告诉我第三个
  • 0:至少请做一些研究工作,1:Parsing,2:见@jb-nizet 答案,3:Ternary operator

标签: java


【解决方案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.htmlhttp://docs.oracle.com/javase/tutorial/getStarted/application/

【讨论】:

    【解决方案2】:
    What is parsing of date and time means ?
    

    这意味着你得到了一个字符串中的日期,并且你想要给定的日期作为对象,然后你使用SimpleDateForamt的 parse() 方法

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

    How can args[] have length ?
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-10
      • 2013-06-05
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 2013-01-21
      • 2012-10-21
      • 1970-01-01
      相关资源
      最近更新 更多