如何將以下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
任何一個有一個更好的辦法? python中的time.time()如何與Java中的System.currentTimeInMillies()不同?
你到底意思是「不同的結果」?請舉例。另外請注意,您當前的Java代碼不會編譯......除非您試圖詢問編譯時失敗,否則始終值得提供有效的代碼。 – 2014-12-02 10:08:22
@JonSkeet我已經改正並改進了問題,如果它讓你更快樂。但提供的第一個答案爲我工作。不管怎麼說,多謝拉。 – nmvictor 2014-12-02 10:27:03
接受的答案實際上並不能解釋*差異。我會添加一個額外的答案。請閱讀http://tinyurl.com/stack-hints - 僅僅因爲你有一個你喜歡的答案而沒有問一個體面的問題並不意味着這是一個好主意。一般來說,問題越好,答案就越好。 – 2014-12-02 11:01:16