Android एप्लिकेशन में वर्तमान समय और दिनांक प्रदर्शित करें


201

एंड्रॉइड एप्लिकेशन में मैं वर्तमान दिनांक और समय कैसे प्रदर्शित करूं?

जवाबों:


301

ठीक है, यह कठिन नहीं है क्योंकि ऐसा करने के कई तरीके हैं। मुझे लगता है कि आप वर्तमान तिथि और समय को एक में लाना चाहते हैं TextView

String currentDateTimeString = java.text.DateFormat.getDateTimeInstance().format(new Date());

// textView is the TextView view that should display it
textView.setText(currentDateTimeString);

प्रलेखन में पढ़ने के लिए और भी बहुत कुछ है जो यहाँ आसानी से पाया जा सकता है । रूपांतरण के लिए उपयोग किए जाने वाले प्रारूप को बदलने के तरीके के बारे में आपको अधिक जानकारी मिलेगी।


43
कृपया - अधिक स्पष्ट हो! क्या त्रुटि है? क्या आपने गलत DateFormat वर्ग आयात किया? यह java.text.DateFormatऔर नहीं होगा android.text.format.DateFormat! और यह java.util.Dateनहीं है java.sql.Date! प्रश्न पूछने पर बस थोड़ा सा संकेत: सटीक होने की कोशिश करें, उदाहरण के लिए: घोषित करें कि आपके प्रश्न में "प्रदर्शन" से आपका क्या मतलब है। और जब आप मेरी पंक्तियों में टाइप करते हैं - दिनांक और दिनांकFormat दोनों, निश्चित रूप से, आयात किया जाना चाहिए - यदि प्रत्येक के लिए 2 का विकल्प है, तो कम से कम आप कोशिश कर सकते हैं किसी भी संयोजन: यह सिर्फ 4 है!
जोर्डिड

सॉरी सर, मुझे तारीख नहीं मिली। समय पर क्या हमें समय मिल सकता है?
BIBEKRBARAL

28
Developer.android.com/reference/java/text/SimpleDateFormat.html पर एक नज़र डालें - वहां आप देख सकते हैं कि कैसे आप अपने आउटपुट स्ट्रिंग में वही होना चाहते हैं जिसे आप परिभाषित करना चाहते हैं। समय के उपयोग के लिए "HH:mm:ss"! पूरी तरह से:currentTimeString = new SimpleDateFormat("HH:mm:ss").format(new Date());
जोर्डिड

2
वहाँ भी है DateFormat.getTimeInstance()और DateFormat.getDateTimeInstance()
फेलिक्स

यह कितना कारगर है? मान लीजिए कि आपको लगातार फायरिंग विधि से समय निकालने की आवश्यकता है। क्या प्रत्येक बार एक नई दिनांक ऑब्जेक्ट बनाने से अधिक कुशल है?
केशव.बहार

125
public class XYZ extends Activity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.main);

        Calendar c = Calendar.getInstance();
        System.out.println("Current time => "+c.getTime());

        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String formattedDate = df.format(c.getTime());
        // formattedDate have current date/time
        Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show();


      // Now we display formattedDate value in TextView
        TextView txtView = new TextView(this);
        txtView.setText("Current Date and Time : "+formattedDate);
        txtView.setGravity(Gravity.CENTER);
        txtView.setTextSize(20);
        setContentView(txtView);
    }

}

यहां छवि विवरण दर्ज करें


1
android.os.Build.VERSION.SDK_INT> = android.os.Build.VERSION_CODES.N (24)।
कंगारू

कैसे घोषित SimpleDateFormatकरूं क्योंकि मुझे मिला प्रतीक वर्ग
डबिस

51
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);
    Thread myThread = null;

    Runnable runnable = new CountDownRunner();
    myThread= new Thread(runnable);   
    myThread.start();

}

public void doWork() {
    runOnUiThread(new Runnable() {
        public void run() {
            try{
                TextView txtCurrentTime= (TextView)findViewById(R.id.lbltime);
                    Date dt = new Date();
                    int hours = dt.getHours();
                    int minutes = dt.getMinutes();
                    int seconds = dt.getSeconds();
                    String curTime = hours + ":" + minutes + ":" + seconds;
                    txtCurrentTime.setText(curTime);
            }catch (Exception e) {}
        }
    });
}


class CountDownRunner implements Runnable{
    // @Override
    public void run() {
            while(!Thread.currentThread().isInterrupted()){
                try {
                doWork();
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                        Thread.currentThread().interrupt();
                }catch(Exception e){
                }
            }
    }
}

@ यह फ़ंक्शन Android SDK के साथ आता है जब तक आपकी कक्षा गतिविधि का विस्तार करती है
कार्लोस P

2
मुझे पता है कि यह पुराना सवाल है, लेकिन अगर कोई इसे मेरी तरह Google में खोजेगा, तो उसे पता होना चाहिए कि Date.getX विधियां चित्रित की गई हैं।
तोबी

38

समय प्रदर्शित करने के लिए स्पष्ट विकल्प AnalogClockदृश्य और DigitalClockदृश्य हैं

उदाहरण के लिए, निम्नलिखित लेआउट:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:orientation="vertical">

    <AnalogClock
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"/>

    <DigitalClock 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:textSize="20sp"/>
</LinearLayout>

इस तरह दिखता है:

स्क्रीनशॉट


4
प्रिय महोदय, मैं सेटटैक्स का उपयोग करके वर्तमान समय प्रदर्शित करना चाहता हूं।
BIBEKRBARAL

5
मुझे यह स्पष्ट उत्तर पढ़ने के बाद एक बेवकूफ की तरह लग रहा है! मैंने अपना स्वयं का रननेबल लागू किया, इसे एक निश्चित समय के लिए सोने के लिए रखा और इतने पर जब स्पष्ट उत्तर एक एक्सएमएल-वन-लाइनर था! बहुत धन्यवाद (आपकी पोस्ट के बाद एक साल से अधिक) :-)
dbm

6
2015 में यह पदावनत कर दिया गया और यह अनुशंसा की जाती है कि आप इसके बजाय TextClock का उपयोग करें :)
एविलिएपर

1
एनालॉगकॉक को एपीआई स्तर 23 में पदावनत किया गया है और एनालॉगलॉक और डिजिटललॉक केवल वर्तमान समय दिखाते हैं, लेकिन वर्तमान तिथि नहीं।
ज़ाफर

34

यदि आप कोड की एक पंक्ति चाहते हैं:

String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());

परिणाम है "2016-09-25 16:50:34"


23

मेरा अपना काम समाधान:

Calendar c = Calendar.getInstance();

String sDate = c.get(Calendar.YEAR) + "-" 
+ c.get(Calendar.MONTH)
+ "-" + c.get(Calendar.DAY_OF_MONTH) 
+ " at " + c.get(Calendar.HOUR_OF_DAY) 
+ ":" + c.get(Calendar.MINUTE);

उम्मीद है की यह मदद करेगा!


मुझे आश्चर्य है कि c.get (Calendar.MONTH) 5 क्यों देता है जब यह माना जाता है कि 6? मेरे डिवाइस में सही समय सेटिंग्स हैं।
क्रिस

अरे हाँ, लेकिन उन्हें ऐसा क्यों करना है जब अन्य चर सटीक थे। :)
क्रिश

1
कैलेंडर c = Calendar.getInstance (); int month = c.get (Calendar.MONTH) + 1; स्ट्रिंग sDate = महीना + "-" + c.get (Calendar.DAY_OF_MONTH) + "-" + c.get (Calendar.YEAR) + "-" + c.get (Calendar.HOUR_OF_MONTH) + ":" + c। मिल (Calendar.MINUTE); यह ठीक काम करता है
user577732

20

यदि आप किसी विशिष्ट पैटर्न में दिनांक और समय प्राप्त करना चाहते हैं तो आप उपयोग कर सकते हैं

Date d = new Date();
CharSequence s = DateFormat.format("yyyy-MM-dd hh:mm:ss", d.getTime());

15

से कैसे सही स्वरूप के साथ पूर्ण तिथि पाने के लिए? :

इस्तेमाल करें

android.text.format.DateFormat.getDateFormat(Context context)
android.text.format.DateFormat.getTimeFormat(Context context)

वर्तमान उपयोगकर्ता सेटिंग्स (उदाहरण के लिए 12/24 समय प्रारूप) के अर्थ में मान्य समय और दिनांक स्वरूप प्राप्त करने के लिए।

import android.text.format.DateFormat;

private void some() {
    final Calendar t = Calendar.getInstance();
    textView.setText(DateFormat.getTimeFormat(this/*Context*/).format(t.getTime()));
}

10

यहाँ कोड है जो मेरे लिए काम किया है। कृपया यह प्रयास करें। यह एक सरल विधि है जो एक सिस्टम कॉल से समय और तारीख लेती है। विधि डेटाटाइम () जहाँ भी आप की जरूरत है।

public static String Datetime()
{
    Calendar c = Calendar .getInstance();
    System.out.println("Current time => "+c.getTime());
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mms");
    formattedDate = df.format(c.getTime());
    return formattedDate;
}

9

उपयोग:

Calendar c = Calendar.getInstance();

int seconds = c.get(Calendar.SECOND);
int minutes = c.get(Calendar.MINUTE);
int hour = c.get(Calendar.HOUR);
String time = hour + ":" + minutes + ":" + seconds;


int day = c.get(Calendar.DAY_OF_MONTH);
int month = c.get(Calendar.MONTH);
int year = c.get(Calendar.YEAR);
String date = day + "/" + month + "/" + year;

// Assuming that you need date and time in a separate
// textview named txt_date and txt_time.

txt_date.setText(date);
txt_time.setText(time);

7
String formattedDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime()); 

formattedDateअपनी Stringभरी हुई तारीख के रूप में उपयोग करें ।
मेरे मामले में:mDateButton.setText(formattedDate);


6
Calendar c = Calendar.getInstance();
int month=c.get(Calendar.MONTH)+1;
String sDate = c.get(Calendar.YEAR) + "-" + month+ "-" + c.get(Calendar.DAY_OF_MONTH) +
"T" + c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND);

यह 2010-05-24T18: 13: 00 की तरह दिनांक समय प्रारूप देगा


6

दरअसल, आप टेक्स्टलॉक विजेट के साथ सर्वश्रेष्ठ हैं। यह आपके लिए सभी जटिलता को संभालता है और उपयोगकर्ता की 12/210 वरीयताओं का सम्मान करेगा। http://developer.android.com/reference/android/widget/TextClock.html


6

वर्तमान दिनांक फ़ंक्शन प्रदर्शित करने के लिए:

Calendar c = Calendar.getInstance();

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String date = df.format(c.getTime());
Date.setText(date);

आप आयात करना चाहते हैं

आयात java.text.SimpleDateFormat; आयात java.util.Calendar;

आप का उपयोग करना चाहते हैं चाहिए

TextView Date;
Date = (TextView) findViewById(R.id.Date);

5

यह वर्तमान तिथि और समय देगा:

public String getCurrDate()
{
    String dt;
    Date cal = Calendar.getInstance().getTime();
    dt = cal.toLocaleString();
    return dt;
}

5

बस इस कोड को कॉपी करें और आशा करें कि यह आपके लिए ठीक काम करेगा।

Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd:MMMM:yyyy HH:mm:ss a");
String strDate = sdf.format(c.getTime());

3
String currentDateandTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
Toast.makeText(getApplicationContext(), currentDateandTime, Toast.LENGTH_SHORT).show();

3

नीचे दिए गए कोड का प्रयास करें:

SimpleDateFormat dateFormat = new SimpleDateFormat(
                                    "yyyy/MM/dd HH:mm:ss");

Calendar cal = Calendar.getInstance();
System.out.println("time => " + dateFormat.format(cal.getTime()));

String time_str = dateFormat.format(cal.getTime());

String[] s = time_str.split(" ");

for (int i = 0; i < s.length; i++) {
     System.out.println("date  => " + s[i]);
}

int year_sys = Integer.parseInt(s[0].split("/")[0]);
int month_sys = Integer.parseInt(s[0].split("/")[1]);
int day_sys = Integer.parseInt(s[0].split("/")[2]);

int hour_sys = Integer.parseInt(s[1].split(":")[0]);
int min_sys = Integer.parseInt(s[1].split(":")[1]);

System.out.println("year_sys  => " + year_sys);
System.out.println("month_sys  => " + month_sys);
System.out.println("day_sys  => " + day_sys);

System.out.println("hour_sys  => " + hour_sys);
System.out.println("min_sys  => " + min_sys);

3

आप इस तरह से कोशिश कर सकते हैं

Calendar calendar = Calendar.getInstance();
SimpleDateFormat mdformat = new SimpleDateFormat("HH:mm:ss");
String strDate = "Current Time : " + mdformat.format(calendar.getTime());

2

आप में दिनांक / समय के साथ काम करना चाहते हैं एंड्रॉयड मैं आप का उपयोग करने की सलाह देते हैं ThreeTenABP एक का संस्करण है जो java.time.*(एंड्रॉयड पर एपीआई 26 से उपलब्ध प्रारंभिक) पैकेज जावा 8 के लिए एक स्थानापन्न के रूप में उपलब्ध के साथ भेज दिया java.util.Dateऔर java.util.Calendar

LocalDate localDate = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);
String date = localDate.format(formatter);
textView.setText(date);

1
बस इसे सीधे सेट करने के लिए, मुझे यकीन है कि आपका मतलब सही है: java.time एंड्रॉइड एपीआई स्तर 26 से बनाया गया है। थ्रीटेनबप वह है जो आप निचले एपीआई स्तरों पर लगभग समान कार्यक्षमता प्राप्त करने के लिए उपयोग करते हैं । इसलिए कोड निम्न और उच्च दोनों स्तरों पर काम कर सकता है।
ओले वीवी

2
और चूंकि प्रश्न दिनांक और समय प्रदर्शित करने के बारे में था , इस उद्देश्य के लिए व्यक्ति उदाहरण के लिए और इसके ZonedDateTimeबजाय इसका उपयोग कर सकता है । अन्यथा कोड समान होगा। LocalDateDateTimeFormatter.ofLocalizedDateTimeofLocalizedDate
ओले वीवी

1

टेक्स्टव्यू पर वर्तमान तिथि और समय दिखाएँ

    /// For Show Date
    String currentDateString = DateFormat.getDateInstance().format(new Date());
    // textView is the TextView view that should display it
    textViewdate.setText(currentDateString);
    /// For Show Time
    String currentTimeString = DateFormat.getTimeInstance().format(new Date());
    // textView is the TextView view that should display it
    textViewtime.setText(currentTimeString);

पूर्ण कोड एंड्रॉइड की जांच करें - स्रोत कोड के साथ एंड्रॉइड स्टूडियो उदाहरण में वर्तमान तिथि और समय प्रदर्शित करें


0

वर्तमान समय / दिनांक प्राप्त करने के लिए बस निम्नलिखित कोड स्निपेट का उपयोग करें:

समय का उपयोग करने के लिए :

SimpleDateFormat simpleDateFormatTime = new SimpleDateFormat("HH:mm", Locale.getDefault());
String strTime = simpleDateFormatTime.format(now.getTime());

दिनांक का उपयोग करने के लिए :

SimpleDateFormat simpleDateFormatDate = new SimpleDateFormat("E, MMM dd, yyyy", Locale.getDefault());    
String strDate = simpleDateFormatDate.format(now.getTime());

और आप जाने के लिए अच्छे हैं।


0
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
Date date = Calendar.getInstance().getTime();
String sDate = format.format(date);//31-12-9999
int mYear = c.get(Calendar.YEAR);//9999
int mMonth = c.get(Calendar.MONTH);
mMonth = mMonth + 1;//12
int hrs = c.get(Calendar.HOUR_OF_DAY);//24
int min = c.get(Calendar.MINUTE);//59
String AMPM;
if (c.get(Calendar.AM_PM) == 0) {
    AMPM = "AM";
} else {
    AMPM = "PM";
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.