是的,關於日期在Java和Javascript中的另一個問題。Javascript日期和java.util.Date構造函數參數
時區格林尼治標準時間+4(莫斯科)在Java和瀏覽器(鉻)。
<script language="javascript">
var d = new Date(170798400000);
document.write(d);
</script>
給出:孫1975年6月1日00:00:00 GMT + 0400(俄羅斯標準時間)
public class Test {
public static void main(String[] args) {
java.util.Date d = new java.util.Date(170798400000L); // the same epoch value!
System.out.println(d);
}
}
給出:週六5月31日23時00分零零秒MSK 1975
如果我將時代價值更改爲2011 - 2012年(在俄羅斯取消夏令時之後),產量確定。時區更新工具運行正常。
這是一個bug或特徵?除了YYYY-MM-dd HH:mm:SS之外,還有什麼辦法來處理這個格式和重新解析嗎?
從Javadoc中:
日期(長日期)
分配Date對象並對其進行初始化,以表示從被稱爲「曆元」標準的基本時間指定的毫秒數,即1月1日,格林威治標準時間1970年00:00:00。
從javascript參考:
新的日期(毫秒)
毫秒 - 代表毫秒數自1 1970年1月的整數值〇點零零分00秒UTC(Unix的時代)。
也許這與「時區更改」有關:http://en.wikipedia.org/wiki/Moscow_Time – 2012-01-18 15:53:59
它的定義是。這是否意味着日期構造函數不能在JavaScript中使用了? – ike3 2012-01-18 15:56:03
那麼,如果其中一個給出了正確的答案,而另一個卻沒有,那麼我會說另一個有一個錯誤:-) Java是正確的還是JavaScript?我希望Java版本能夠給出正確的答案,但這只是一個懷疑。 – Pointy 2012-01-18 15:56:08