“args”中的Java日期格式

时间:2015-06-12 16:27:44

标签: java date-format simpledateformat args

所以,我正在使用JD-GUI来反编译一些没有任何文档的Java类文件。此Java应用程序在Windows Server上运行,并通过具有cmd文件的taskscheduler运行(我不知道究竟是什么,在这里实习)。

如果有人使用args命令可以帮助我,我会非常感激。剪辑的代码是附加的,所有我想要理解的是 for循环在代码末尾的作用

public class Main
{
 public static void main(String[] args)
  {
  try
  {
  List violationList = new ArrayList();

  Calendar cal = Calendar.getInstance();
  Date inputDate = new Date();
  cal.setTime(inputDate);
  cal.set(11, 0);
  cal.set(12, 0);
  cal.set(13, 1);

  inputDate = cal.getTime();

  SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yy");
  for (int ii = 0; ii < args.length; ii++) {
    if (args[ii].equals("-date")) {
      inputDate = dateFormat.parse(args[(ii + 1)]);
    }
 }

这是run.cmd文件以及我找到的Java文件。请注意,最后一行提到.Main,与%1%2有关。

RUN.CMD

@ECHO OFF
set CP=.;realapplication.jar; commons-       logging.jar;msbase.jar;mail.jar;activation.jar;log4j.jar;
set CP=%CP%sqljdbc4.jar;msutil.jar;spring-1.2.6.jar;commons-httpclient-2.0.1.jar;weblogic_8.1.jar;
set CP=%CP%zipfilemanager.jar;kmoscommon.jar;sessionpool.jar;kmosdao.jar;gendao.jar;rowset-1.0.1.jar;
java -classpath "%CP%" com.adnan.Main %1 %2

1 个答案:

答案 0 :(得分:2)

这个for循环遍历命令行参数并以-date 16/11/81的形式搜索一对参数(当然,给定日期只是一个例子)。找到后,它会将第二个参数(在本例中为16/11/81)解析为java.util.Date对象,并将其存储在inputDate变量中。如果省略-date参数,则将使用今天的日期。