gpt4 book ai didi

java - Git日志推荐java日期格式

转载 作者:行者123 更新时间:2023-12-02 03:54:42 27 4
gpt4 key购买 nike

我对赞扬 --after --before 的日期格式有疑问。git

"git -C " + RepositoryConstants.root + reponame + " log --pretty=format:\"%h|%an|%ad|%s\" --after='" + dateFrom___ + "' --before='" + dateTo___ + "' --date=iso");

这是我的程序中设置的。但它不起作用。但是,当我将其复制到控制台时,效果很好,就像我的日期格式为“2016-02-05”,但不包含小时和分钟。

final Process p = Runtime.getRuntime().exec(string from upstair);

new Thread(new Runnable() {
public void run() {
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
try {
while ((line = input.readLine()) != null) {
Commit commit = new Commit();
System.out.println(">>> " + line);
String split[] = line.split("\\|");
...
}
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();

p.waitFor();
Thread.sleep(1000);
return stuff;


private DateFormat outputFormatter = new SimpleDateFormat("YYYY-MM-dd HH:mm");
String dateFrom___ = "'" + outputFormatter.format(dateFrom__) + "'";
String dateTo___ = "'" + outputFormatter.format(dateTo__) + "'";
final Process p = Runtime.getRuntime().exec(new String[]{"git", " -C ", RepositoryConstants.REPOSITORY_ROOT + repo, " log"," --pretty=format:\"%h|%an|%ad|%s\"", " --after=", dateFrom___, " --before=", dateTo___, " --date=iso"});

最佳答案

Java 使用StringTokenizer用于将命令解析为 exec 中的参数称呼。该类不像 shell 那样尊重引号。

您应该手动拆分字符串,并将数组传递给方法:

final Process p = Runtime.getRuntime().exec(new String[]{"-C","C:\test\repo","log","--pretty=format:%h|%an|%ad|%s", "--after=2016-02-05 15:24:00 +0100", "--before=2016-02-24 10:32:00 +0100" "--date=iso"});

关于java - Git日志推荐java日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35602955/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com