Avatar ·

दो मिलीसेकंड टाइमस्टैम्प (1927) को घटाने पर अजीब परिणाम क्यों आता है?

सभी को नमस्ते! मैं Java में नया हूँ और dates और time के साथ काम कर रहा हूँ। मैंने एक सरल कोड लिखा जो दो समय बिंदुओं के बीच मिलीसेकंड में अंतर निकालता है। लेकिन परिणाम ने मुझे चौंका दिया! यह मेरा कोड है: ```java import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; public class StrangeDateDifference { public static void main(String[] args) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); Date date1 = sdf.parse("1927-12-31 23:54:07"); Date date2 = sdf.parse("1927-12-31 23:54:08"); long diffInMillis = date2.getTime() - date1.getTime(); System.out.println("मिलीसेकंड में अंतर: " + diffInMillis); } } ``` मुझे 1000 मिलीसेकंड (1 सेकंड) देखने की उम्मीद थी, लेकिन आउटपुट में मुझे **-353** मिलता है! यह कैसे संभव है? क्या 1 सेकंड 1000 मिलीसेकंड के बराबर नहीं है? अंतर नकारात्मक क्यों है?