একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনে বর্তমান সময় এবং তারিখ প্রদর্শন করুন


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
দয়া করে - আরও স্পষ্ট হতে! ত্রুটি কী? আপনি কি ভুল ডেটফর্ম্যাট ক্লাসটি আমদানি করেছেন? এটি java.text.DateFormatএবং না android.text.format.DateFormat! এবং এটি java.util.Dateএবং না java.sql.Date! প্রশ্ন জিজ্ঞাসার জন্য কেবলমাত্র একটি ইঙ্গিত: সুনির্দিষ্ট হওয়ার চেষ্টা করুন, উদাহরণস্বরূপ: আপনার প্রশ্নের "প্রদর্শন" দ্বারা আপনি কী বোঝাতে চাইছেন তা ঘোষণা করুন। এবং যখন আপনি আমার লাইনগুলি টাইপ করেন - তারিখ এবং তারিখের ফর্ম্যাট উভয় অবশ্যই অবশ্যই আমদানি করা উচিত - যদি প্রত্যেকের জন্য 2 টি পছন্দ থাকে তবে কমপক্ষে আপনি যে কোনও সংমিশ্রণ চেষ্টা করতে পারেন: এটি মাত্র 4!
জোর্ডিড

দুঃখিত স্যার, আমি সময় পাইনি, একইভাবে আমরা কি সময় পেতে পারি?
বাইবেকারব্রাল

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()
ফেলিক্স

এটি কতটা দক্ষ? ধরা যাক আপনাকে অবিরাম গুলি চালানোর পদ্ধতি থেকে সময় নেওয়া দরকার to প্রতিবার নতুন ডেট অবজেক্ট তৈরি করার চেয়ে আরও কার্যকর কিছু আছে কি?
কেশব.বাহাদুর

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){
                }
            }
    }
}

@ হর্ষিত এই ফাংশনটি অ্যান্ড্রয়েড এসডিকে নিয়ে আসে যতক্ষণ না আপনার ক্লাসটি ক্রিয়াকলাপ বাড়িয়ে দেয়
কার্লোস পি

2
আমি জানি এটি পুরানো প্রশ্ন, তবে যদি কেউ আমার মতো গুগলে এটি খুঁজে পান তবে তার জানা উচিত যে ডেট.জেটএক্স পদ্ধতিগুলি হ্রাস করা হয়েছে।
তোবি

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
প্রিয় স্যার, আমি বর্তমান সময় সেট টেক্সট ব্যবহার করে প্রদর্শন করতে চাই।
বাইব্যাকারবারাল

5
এই সুস্পষ্ট উত্তরটি পড়ে আমার বোকা বোকা মনে হচ্ছে! আমি আমার নিজের রানকেটে প্রয়োগ করেছিলাম, এটি একটি নির্দিষ্ট সময়ের জন্য ঘুমিয়ে রেখেছিলাম এবং তাই যখন সুস্পষ্ট উত্তরটি ছিল এক্সএমএল-ওয়ান-লাইনার! অনেক ধন্যবাদ (আপনার পোস্টের এক বছরেরও বেশি সময় পরে) :-)
dbm

6
2015 এ এটি অবহেলা করা হয়েছে এবং পরিবর্তে আপনি টেক্সটলক ব্যবহার করার পরামর্শ দেওয়া হচ্ছে। :)
ইভিলিপার

1
এনালগক্লকটি এপিআই স্তরের 23 স্তরে অবনতিযুক্ত and এবং অ্যানালগক্লক এবং ডিজিটালক্লক কেবল বর্তমান সময় দেখায়, তবে বর্তমান তারিখটি নয়।
জাফার

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);

আশাকরি এটা সাহায্য করবে!


আমি ভাবছি কেন সি.গেট (ক্যালেন্ডার.মোথ) 5 টি যখন অনুমান করা হয় তখন 5? আমার ডিভাইসে সঠিক সময় সেটিংস রয়েছে।
ক্রিস

হ্যাঁ হ্যাঁ, তবে অন্যান্য ভেরিয়েবলগুলি নির্ভুল হলে তাদের কেন এটি করতে হবে। :)
ক্রিস

1
ক্যালেন্ডার সি = Calendar.getInstance (); int মাস = সি.জেট (ক্যালেন্ডার.মোনথ) + 1; স্ট্রিং এর তারিখ = মাস + "-" + সি.জেট (ক্যালেন্ডার। ডিওয়াইআম_মোনথ) + "-" + সি.জেট (ক্যালেন্ডার.ওয়াইআর) + "-" + সি.জেট (ক্যালেন্ডার। HOUR_OF_DAY) + ":" + সি। পেতে (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

বর্তমান তারিখের কার্যটি প্রদর্শন করতে:

Calendar c = Calendar.getInstance();

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

আপনি অবশ্যই আমদানি করতে চান

আমদানি java.text.SimleDate Format; আমদানি java.util.Clavender;

আপনি অবশ্যই ব্যবহার করতে চান

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

যদি আপনি অ্যান্ড্রয়েডে তারিখ / সময় নিয়ে কাজ করতে চান তবে আমি আপনাকে সুপারিশ করব থ্রিটিএনএবিপি যা 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. থেকে ThreeTenABP কি কার্যত একই কার্যকারিতা পেতে ব্যবহার কম API লেভেলের উপর । সুতরাং কোডটি নিম্ন এবং উচ্চ স্তরের উভয় ক্ষেত্রেই কাজ করতে পারে।
ওলে ভিভি

2
এবং যেহেতু প্রশ্নটি তারিখ এবং সময় প্রদর্শনের বিষয়ে ছিল , সেই উদ্দেশ্যে কেউ উদাহরণস্বরূপ ZonedDateTimeপরিবর্তে LocalDateএবং DateTimeFormatter.ofLocalizedDateTimeপরিবর্তে ব্যবহার করতে পারে ofLocalizedDate। অন্যথায় কোডটি একই হবে।
ওলে ভিভি

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";
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.