Android में वर्ष, महीना और दिनांक प्राप्त करना




calendar (6)

मैं निम्नलिखित कोड का उपयोग करके आज का वर्ष, महीना और दिनांक प्राप्त करने की कोशिश कर रहा हूं;

Calendar calendar = Calendar.getInstance();

int thisYear = calendar.get(Calendar.YEAR);
Log.d(TAG, "# thisYear : " + thisYear);

int thisMonth = calendar.get(Calendar.MONTH);
Log.d(TAG, "@ thisMonth : " + thisMonth);

int thisDay = calendar.get(Calendar.DAY_OF_MONTH);
Log.d(TAG, "$ thisDay : " + thisDay);

लेकिन यह "वर्ष के लिए वर्ष 1 महीने के लिए 2012 और तारीख के लिए 28" देता है जो आज की तारीख नहीं है। मैंने क्या गलत किया है?

https://code.i-harness.com


इसको आजमाओ..

 Calendar instance = Calendar.getInstance();
 currentMonth = instance.get(Calendar.MONTH);
 currentYear = instance.get(Calendar.YEAR);

 int month=currentMonth+1;

उपयोग करने का प्रयास करें:

Date dt = new Date(); 
dt.getYear(); 
dt.getMonth(); 
dt.getDay();

और देखें कि क्या आपको वही परिणाम मिलते हैं। यदि हां, तो आपकी सिस्टम तिथि संभवतः सिंक से बाहर है। अधिक विवरण के लिए दिनांक श्रेणी के दस्तावेज़ देखें:


महीना शून्य से शुरू होता है, इसलिए आपको उस महीने के साथ 1 जोड़ना होगा, जिस महीने की संख्या से हम परिचित हैं।

int thisMonth = calendar.get(Calendar.MONTH);
Log.d(TAG, "@ thisMonth : " + (thisMonth+1));

यह आपको वर्तमान माह को 1 से शुरू करके दिखाएगा।


मैंने आपका कोड आज़माया और यह सही आउटपुट दे रहा है। आपको अपने एमुलेटर / फोन में समय की जाँच करने की कोशिश करनी चाहिए, जिस पर आप इस कोड को आज़मा रहे हैं

GetInstance डॉक्स के अनुसार, यह डिफ़ॉल्ट रूप से वर्तमान दिनांक और समय पर सेट होता है।


import java.util.Calendar;
import java.util.TimeZone;
import android.widget.Toast;

Calendar calendar = Calendar.getInstance(TimeZone.getDefault());

int currentYear = calendar.get(Calendar.YEAR);
int currentMonth = calendar.get(Calendar.MONTH) + 1;
int currentDay = calendar.get(Calendar.DAY_OF_MONTH);

Toast.makeText(this,"Today's Date: " + currentYear + currentMonth + currentDay, Toast.LENGTH_SHORT).show();

यदि आपका एप्लिकेशन Android API 27 प्लेटफ़ॉर्म या उससे ऊपर के लिए लक्षित है, तो "TimeZone" बहुत अच्छा काम करेगा


Calendar calendar = Calendar.getInstance(TimeZone.getDefault());
calendar.get(Calendar.YEAR)




calendar