Как преобразовать следующий код python в Java?Как преобразовать python time.time() в Java
import time
str(int(time.time() * 1e6))
Я пробовал следующий фрагмент в своем проекте Java.
private static String runPython(String script) throws Exception{
File file = new File("test.py");
if(file.exists()) {
file.delete();
}
BufferedWriter out = new BufferedWriter(new FileWriter("test.py"));
out.write(script);
out.close();
Process p = Runtime.getRuntime().exec("python test.py ");
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String ret = in.readLine();
return ret+"";
}
private static String getFromPython() {
try {
String prg = "import time\nprint str(int(time.time() * 1e6))\n";
return runPython(prg)+"";
}catch(Exception e){
e.printStackTrace();
}
return null;
}
public static String getFromJava() {
String result = ((System.currentTimeMillis()/1000) * 1e6)+"";
return result;
}
public static void main(String[] args) {
System.out.println("Python Version: "+getFromPython());
System.out.println("Java Version: "+getFromJava());
}
Это те разные результаты я получаю
run:
Python Version: 1417515400105953
Java Version: 1.4175154E15
Любой один с лучшим подходом? Как time.time() в python отличается от System.currentTimeInMillies() в Java?
Что именно вы означает «разные результаты»? Приведите примеры. Также обратите внимание, что ваш текущий Java-код не будет компилироваться ... всегда стоит указать действительный код, если вы не попросите о сбое во время компиляции. –
@JonSkeet Я исправил и улучшил вопрос, если он сделает вас счастливее. Но первый ответ предоставил мне работу. В любом случае спасибо. – nmvictor
Принятый ответ на самом деле не объясняет * разницу. Я добавлю дополнительный ответ. Пожалуйста, прочитайте http://tinyurl.com/stack-hints - только потому, что вы получили ответ, который вам нравится, не задавая достойного вопроса, это не значит, что это хорошая идея. В общем, чем лучше вопрос, тем лучше будут ответы. –