Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android में मिलीसेकंड को डेट फॉर्मेट में कैसे बदलें?

Android में मिलीसेकंड से डेट कन्वर्जन गाइड

यह ट्यूटोरियल दिखाता है कि कैसे epoch मिलीसेकंड को पढ़ने योग्य डेट फॉर्मेट में बदला जाता है, SimpleDateFormat और आधुनिक java.time API का उपयोग करके।

चरण 1: प्रोजेक्ट बनाएं

Android Studio में नया प्रोजेक्ट बनाएं।

चरण 2: लेआउट फाइल

res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="4dp"
    tools:context=".MainActivity">
    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="24sp"
        android:textStyle="bold" />
</LinearLayout>

चरण 3: SimpleDateFormat के साथ (लीगेसी)

src/MainActivity.java:

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class MainActivity extends AppCompatActivity {
    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        textView = findViewById(R.id.textView);
        convertMillisecondsToDate();
    }

    private void convertMillisecondsToDate() {
        long milliseconds = 9897546853323L; // उदाहरण टाइमस्टैम्प
        
        // विभिन्न फॉर्मेट्स
        SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault());
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
        SimpleDateFormat sdf3 = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z", Locale.getDefault());
        
        String date1 = sdf1.format(new Date(milliseconds));
        String date2 = sdf2.format(new Date(milliseconds));
        String date3 = sdf3.format(new Date(milliseconds));
        
        String result = "फॉर्मेट 1 (dd/MM/yyyy): " + date1 + "\n" +
                       "फॉर्मेट 2 (yyyy-MM-dd HH:mm:ss): " + date2 + "\n" +
                       "फॉर्मेट 3 (पूर्ण): " + date3;
        
        textView.setText(result);
    }
}

चरण 3 (बेहतर): java.time API (API 26+)

आधुनिक, थ्रेड-सेफ और अधिक शक्तिशाली:

import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

private void convertWithModernAPI() {
    long milliseconds = 9897546853323L;
    
    Instant instant = Instant.ofEpochMilli(milliseconds);
    ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
    
    DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("dd/MM/yyyy");
    DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("EEE, d MMM yyyy HH:mm:ss z");
    
    String date1 = zdt.format(formatter1);
    String date2 = zdt.format(formatter2);
    String date3 = zdt.format(formatter3);
    
    // टाइमजोन के साथ
    ZonedDateTime utc = instant.atZone(ZoneId.of("UTC"));
    String utcDate = utc.format(formatter2);
}

आम डेट फॉर्मेट पैटर्न्स

पैटर्नआउटपुट उदाहरण
dd/MM/yyyy15/01/2023
yyyy-MM-dd2023-01-15
HH:mm:ss14:30:45
hh:mm a02:30 PM
EEE, d MMM yyyySun, 15 Jan 2023

चरण 4: मैनिफेस्ट

स्टैंडर्ड कॉन्फ़िगरेशन।

बेस्ट प्रैक्टिसेज

  • API 26+ पर java.time API प्राथमिकता दें
  • हमेशा Locale निर्दिष्ट करें
  • SimpleDateFormat थ्रेड-सेफ नहीं है - हर उपयोग के लिए नया इंस्टेंस बनाएं
  • टाइमजोन का ध्यान रखें - सर्वर टाइमस्टैम्प्स आमतौर पर UTC में होते हैं
  1. Android TextView में टेक्स्ट को जस्टिफाई कैसे करें? Android TextView में टेक्स्ट को जस्टिफाई कैसे करें?

    TextView में टेक्स्ट जस्टिफिकेशन Android 8.0 (API 26) से android:justificationMode=inter_word एट्रिब्यूट का उपयोग करके TextView में टेक्स्ट को जस्टिफाई (दोनों किनारों पर संरेखित) किया जा सकता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनें (न्यूनतम API 26 या अधिक)। चरण 2

  1. Android में कलर इंटीजर को हेक्स स्ट्रिंग में कैसे बदलें? Android में कलर इंटीजर को हेक्स स्ट्रिंग में कैसे बदलें?

    Android में रंग को इंटीजर (ARGB) से हेक्साडेसिमल स्ट्रिंग (#RRGGBB या #AARRGGBB) में बदलने का तरीका। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <RelativeLayout xmlns:android=https://schem

  1. मास्टर एक्सेल: जनरल फॉर्मेट को डेट फॉर्मेट में बदलने के 7 सिद्ध तरीके मास्टर एक्सेल: जनरल फॉर्मेट को डेट फॉर्मेट में बदलने के 7 सिद्ध तरीके

    माइक्रोसॉफ्ट एक्सेल के डेट फॉर्मेट के साथ काम करना बहुत आम है। हम इनका उपयोग विभिन्न गणनाओं के लिए करते हैं। डेट एक्सेल में आवश्यक फॉर्मेट में से एक है। एक्सेल जनरल फॉर्मेट को डेट फॉर्मेट में बदलने के लिए पर्याप्त स्मार्ट है। लेकिन ऐसी स्थितियां हो सकती हैं जहां डेट जनरल या टेक्स्ट फॉर्मेट में हों।