使用JSCHJavaAPI获取远程系统时间戳

使用JSCHJavaAPI获取远程系统时间戳,java,jsch,Java,Jsch,我正在使用优秀的com.jcraft.jschAPI使用以下代码连接到远程服务器 JSch ssh = new JSch(); JSch.setConfig(FileTransferConstants.STRICT_HOST_KEY_CHECKING, FileTransferConstants.NO); session = ssh.getSession(user, host, port); session.setPassword(password); s

我正在使用优秀的
com.jcraft.jsch
API使用以下代码连接到远程服务器

    JSch ssh = new JSch();
    JSch.setConfig(FileTransferConstants.STRICT_HOST_KEY_CHECKING, FileTransferConstants.NO);
    session = ssh.getSession(user, host, port);
    session.setPassword(password);
    session.connect();
    channel = session.openChannel(FileTransferConstants.SFTP);
    channel.connect();
    ChannelSftp sftp = (ChannelSftp) channel;
连接后,我使用
SFTP
下载一些日志文件。这很有效

一旦检索到文件,我就根据日志条目的时间戳在本地查询它们——我在特定的时间窗口内查找条目

到目前为止,它没有给我带来任何问题,因为我的本地系统时间戳与远程时间戳非常相似。但是最近我的测试开始失败,因为我的本地时间戳和远程服务器上的时间戳之间有5分钟的差异

所以我的问题是,是否有一种简单的方法可以使用
Jsch
获取远程系统时间?如果是这样,我只需检索它并在测试中使用它,而不是在本地系统时间使用它。然后希望差异问题应该立即消失


感谢您阅读并考虑我的问题。

如果其他人面临同样的问题,请添加评论中的工作建议作为答案

ChannelExec channelExec = (ChannelExec)session.openChannel("exec");
InputStream in = channelExec.getInputStream();
channelExec.setCommand("date +%m%d%Y%H%M%S"); //Date format could be changed to your desired format
channelExec.connect();

BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
int index = 0;
while ((line = reader.readLine()) != null) {
   System.out.println(++index + " : " + line);
}

channelExec.disconnect();

如果其他任何人面临同样的问题,则添加评论中的工作建议作为答案

ChannelExec channelExec = (ChannelExec)session.openChannel("exec");
InputStream in = channelExec.getInputStream();
channelExec.setCommand("date +%m%d%Y%H%M%S"); //Date format could be changed to your desired format
channelExec.connect();

BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
int index = 0;
while ((line = reader.readLine()) != null) {
   System.out.println(++index + " : " + line);
}

channelExec.disconnect();

您可以尝试在远程服务器上执行日期+%m%d%Y%H%m%S(或您需要的其他格式)命令并读取输出。检查关于如何执行和读取输出的问题。这似乎做得很好!您可以尝试在远程服务器上执行日期+%m%d%Y%H%m%S(或您需要的其他格式)命令并读取输出。检查关于如何执行和读取输出的问题。这似乎做得很好!