سؤال
ولدي تشغيل التطبيق في وضع الكتلة (عقدتين) تحت هر / لينكس. للأسف لقد لاحظت أن NODE1 وNODE2 لها إعدادات زمنية مختلفة. عندما تكون في قذيفة I كمة "تاريخ" أحصل على الجهازين نفسه:
> date --rfc-2822
Thu, 22 Oct 2009 15:00:15 +0200
وكتبت برنامج جافا صغير الذي يطبع التاريخ فقط تنسيق (والوقت).
import java.util.Date;
import java.util.TimeZone;
public class TimeTest {
public static void main(String args[]) {
long time = System.currentTimeMillis();
String millis = Long.toString(time);
Date date = new Date(time);
System.out.println("Current time in milliseconds = " + millis + " => " + date.toString());
System.out.println("Current time zone: " + TimeZone.getDefault().getID());
}
}
وفي عقدة واحدة أنا على الحصول على: الوقت الحالي في ميلي ثانية = 1256215701981 => الخميس أكتوبر 22 13:48:21 GMT + 01: 00 2009 التوقيت الحالي: GMT + 01: 00
وبينما في عقدة أخرى أنا على الحصول على: الوقت الحالي في ميلي ثانية = 1256215779203 => الخميس أكتوبر 22 14:49:39 CEST 2009 التوقيت الحالي: أوروبا / برلين
وهذا هو إعداد لينكس أو إعداد جافا؟ في أي حال، كيف يمكنني تغيير هذا؟
ويرجع الفضل في ذلك مسبقا!
لويس
المحلول
ووفقا ل وثائق مصدر الافتراضي والوقت قد تختلف مع التنفيذ. لقضيتك يبدو أن ملقم واحد يستخدم التوقيت الصيفي والآخر ليس كذلك.