मुझे मूल प्रश्न संपादित करना पड़ा, क्योंकि मुझे लगता है कि कई लेखक इसे गलत समझते हैं।


मुझे सबसे बुनियादी समस्या है। सिस्टम दिनांक प्राप्त करने का प्रयास करें। मेरा कोड यह है;

import java.util.Date;

public class DateDemo {
   public static void main(String args[]) {
      // Instantiate a Date object
      Date date = new Date();

      // display time and date using toString()
      System.out.println(date.toString());
   }
}

यह मुझे त्रुटि देता है: टोकन "आयात" पर सिंटेक्स त्रुटि, उम्मीद पर जोर दें

समाधान बहुत बुनियादी होना चाहिए लेकिन मुझे यह नहीं मिला।

आपकी सहायता के लिए धन्यवाद।

-6
kutayatesoglu 3 जुलाई 2016, 21:09

3 जवाब

सबसे बढ़िया उत्तर

आप कुछ असंभव करने की कोशिश करते हैं। आपको एक क्लास बनानी चाहिए और इस क्लास में एक मेथड में आपको ये ऑपरेशन करने चाहिए। नीचे दिए गए उदाहरण में, आप इन संक्रियाओं को अपनी कक्षा में एक मुख्य विधि में बनाते हैं। मुख्य विधि वह है जहां कार्यक्रम शुरू होता है।

इन बिंदुओं के अलावा, यदि आपकी कक्षा एक पैकेज में है, तो आपको इसे कक्षा की शुरुआत में ही परिभाषित करना चाहिए। उदाहरण के लिए, आपके पैकेज को myPackage कहा जाता है, आपको इसे नीचे अपने कोड में जोड़ना चाहिए;

उदाहरण के लिए, आप एक पैकेज myPackage में एक वर्ग Foo बनाते हैं।

package myPackage;
import java.util.Date;

public class Foo {
   public static void main(String args[]) {

      // You create a new date object and assign it to the sysdate
      Date sysdate = new Date();

      // You are now displaying your time and date using toString()
      System.out.println(sysdate.toString());
   }
}
1
Ad Infinitum 3 जुलाई 2016, 21:56

जावा में निर्देश बाहरी कक्षाओं के नहीं हो सकते हैं। तो आपके निर्देश

Date sysdate = new Date();
System.out.println(sysdate);

एक विधि में होना चाहिए (उदाहरण के लिए, main में), और विधि को कक्षा में घोषित किया जाना चाहिए। जहाँ तक मुझे पता है, import और package निर्देश ही केवल वही हैं जो कक्षा की परिभाषा से पहले होने चाहिए।

यह भी ध्यान दें कि जिस फ़ाइल में कक्षा लिखी गई है, उसमें कक्षा का नाम समान होना चाहिए, उदाहरण के लिए, उदाहरण DateDemo को DateDemo.java नामक फ़ाइल में सहेजा जाना चाहिए।

1
Hamza Abbad 3 जुलाई 2016, 21:25

अन्य उत्तर आपके बारे में सही हैं जिसमें मुख्य विधि के साथ उचित वर्ग संरचना शामिल नहीं है।

कभी भी Date का उपयोग न करें

साथ ही, कभी भी Date का इस्तेमाल न करें वर्ग। यह बहुत ही डिजाइन किया गया है, और काफी भ्रमित और परेशानी भरा है। अब विरासत, java.time.Instant वर्ग द्वारा प्रतिस्थापित।

java.time

एक क्षण को UTC में दर्शाने के लिए, Instant वह वर्ग एक संकल्प का ठीक तरह से उपयोग करता है नैनोसेकंड के रूप में। वर्तमान क्षण को केवल मिलीसेकंड या माइक्रोसेकंड आपके होस्ट की सीमाओं पर निर्भर करता है कंप्यूटर घड़ी हार्डवेयर, आपका होस्ट ऑपरेटिंग सिस्टम, और आपका Java Virtual Machine कार्यान्वयन।

उदाहरण कोड।

package com.basilbourque.example.telltimeapp ;

import java.time.Instant ;

public class TellTime {
    public static void main( String args[] ) 
    {
       Instant instant = Instant.now() ;     // Capture the current moment in UTC. 
       String output = instant.toString() ;  // Generate text in a `String` object representing the value of the `Instant` object in standard ISO 8601 format. 
       System.out.println( output ) ;        // Dump text to the console.                  
    }
}

आइए अधिक यथार्थवादी बनें। हमारे ऐप का एक इंस्टेंस लॉन्च करें main विधि। फिर गेंद को लुढ़कने के लिए उस ऐप ऑब्जेक्ट पर एक विधि लागू करें।

हमारा ऐप दो काम करना जानता है:

  • UTC में वर्तमान समय बताएं।
  • समय क्षेत्र में वर्तमान समय बताएं। is/मॉन्ट्रियल" rel="nofollow noreferrer">America/Montreal.

हमारा main तरीका उन दोनों में से पहला तरीका पूछता है।

package com.basilbourque.example.telltimeapp ;

import java.time.Instant ;

public class TellTime {
    public static void main( String args[] )  // The `main` method is *not* object-oriented, just a hack, the way we solve the chicken-or-the-egg dilemma] of how to launch an OOP app.
    {
        TellTime app = new TellTime() ;       // Create an instance of our app, an object that represents the entire running app.
        app.tellCurrentMomentInUtc() ;        // Ask our app object to run some code.
    }

    public void tellCurrentMomentInUtc() 
    {
        Instant instant = Instant.now() ;     // Capture the current moment in UTC. 
        String output = instant.toString() ;  // Generate text in a `String` object representing the value of the `Instant` object in standard ISO 8601 format. 
        System.out.println( output ) ;        // Dump text to the console. 2018-07-02T20:17:49.929677Z
    }

    public void tellCurrentMomentInMontreal() 
    {
        Instant instant = Instant.now() ;             // Capture the current moment in UTC. 
        ZoneId z = ZoneId.of( "America/Montreal" ) ;  // A time zone is a history of the past, present, and future changes to the offset-from-UTC used by the people of a particular region.
        ZonedDateTime zdt = instant.atZone( z ) ;     // Adjust from UTC to Québec time. Same moment, same point on the timeline, different wall-clock time.
        DateTimeFormatter f = DateTimeFormatter.ofLocalizedDateTime( FormatStyle.FULL ).withLocale( Locale.CANADA_FRENCH ) ;   // Be aware that time zone and locale have *nothing* to do with one another, completely orthogonal issues.
        String output = zdt.format( f ) ;             // Generate text in a localized format.
        System.out.println( output ) ;                // Dump text to the console. Example: lundi 2 juillet 2018 à 16:16:59 Eastern Daylight Time
    }

}

ट्यूटोरियल

स्टैक ओवरफ्लो पर पोस्ट करने से पहले Oracle के जावा ट्यूटोरियल्स का अध्ययन करें।


java.time . के बारे में

java.time फ्रेमवर्क जावा 8 और बाद के संस्करणों में बनाया गया है। ये कक्षाएं परेशान करने वाली पुरानी विरासत दिनांक-समय की कक्षाओं जैसे java.util.Date, Calendar, और SimpleDateFormat

जोडा-टाइम प्रोजेक्ट, अब रखरखाव मोड, java.time क्लासेस।

अधिक जानने के लिए, देखें Oracle Tutorial. और कई उदाहरणों और स्पष्टीकरणों के लिए स्टैक ओवरफ़्लो खोजें। विशिष्टता JSR 310 है।

आप सीधे अपने डेटाबेस से java.time वस्तुओं का आदान-प्रदान कर सकते हैं। JDBC ड्राइवर का उपयोग करें जो JDBC 4.2 या बाद का संस्करण। स्ट्रिंग्स की कोई आवश्यकता नहीं है, java.sql.* कक्षाओं की कोई आवश्यकता नहीं है।

Java.time कक्षाएं कहाँ से प्राप्त करें?

ThreeTen-Extra प्रोजेक्ट java.time को अतिरिक्त कक्षाओं के साथ बढ़ाता है . यह परियोजना java.time में संभावित भावी परिवर्धन के लिए एक सिद्ध आधार है। आपको यहां कुछ उपयोगी कक्षाएं मिल सकती हैं जैसे Interval, YearWeek, YearQuarter, और अधिक

0
Basil Bourque 2 जुलाई 2018, 23:32