জাভা সহ দুটি তারিখের মধ্যে দিন গণনা করা


150

আমি একটি জাভা প্রোগ্রাম চাই যা দুটি তারিখের মধ্যে দিন গণনা করে।

  1. প্রথম তারিখটি টাইপ করুন (জার্মান স্বরলিপি; সাদা জায়গাগুলি সহ: "ডিডি মিমি ইয়াই")
  2. দ্বিতীয় তারিখটি টাইপ করুন।
  3. প্রোগ্রামটি দুটি তারিখের মধ্যে দিনের সংখ্যা গণনা করা উচিত।

আমি কীভাবে লিপ বছর এবং গ্রীষ্মকালীন সময় অন্তর্ভুক্ত করতে পারি?

আমার কোড:

import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class NewDateDifference {

    public static void main(String[] args) {

        System.out.print("Insert first date: ");
        Scanner s = new Scanner(System.in);
        String[] eingabe1 = new String[3];

        while (s.hasNext()) {
            int i = 0;
            insert1[i] = s.next();
            if (!s.hasNext()) {
                s.close();
                break;
            }
            i++;
        }

        System.out.print("Insert second date: ");
        Scanner t = new Scanner(System.in);
        String[] insert2 = new String[3];

        while (t.hasNext()) {
            int i = 0;
            insert2[i] = t.next();
            if (!t.hasNext()) {
                t.close();
                break;
            }
            i++;
        }

        Calendar cal = Calendar.getInstance();

        cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(insert1[0]));
        cal.set(Calendar.MONTH, Integer.parseInt(insert1[1]));
        cal.set(Calendar.YEAR, Integer.parseInt(insert1[2]));
        Date firstDate = cal.getTime();

        cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(insert2[0]));
        cal.set(Calendar.MONTH, Integer.parseInt(insert2[1]));
        cal.set(Calendar.YEAR, Integer.parseInt(insert2[2]));
        Date secondDate = cal.getTime();


        long diff = secondDate.getTime() - firstDate.getTime();

        System.out.println ("Days: " + diff / 1000 / 60 / 60 / 24);
    }
}

কি কাজ করে না? এটা কি ক্রাশ হচ্ছে? এটি কি আপনাকে ভুল নম্বর দিচ্ছে?
jens108

অ্যারের ঘোষণা কোথায়: সন্নিবেশ 1?
Rhys

1
insert1 = জার্মান ভাষায় eingabe1 :)
পিটার.পেট্রভ

@ পিটার.পেট্রভ আহ, আমি দেখছি!
Rhys

আমি মনে করি তিনি সঙ্গে সমস্যা হচ্ছে না mmএবং MM: পি
সাগে

উত্তর:


229

আপডেট: ২০১৩ সালের আসল উত্তরটি এখন পুরানো হয়েছে কারণ কিছু ক্লাস প্রতিস্থাপন করা হয়েছে। এটি করার নতুন java.timeউপায়টি নতুন ক্লাসগুলি ব্যবহার করছে ।

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd MM yyyy");
String inputString1 = "23 01 1997";
String inputString2 = "27 04 1997";

try {
    LocalDateTime date1 = LocalDate.parse(inputString1, dtf);
    LocalDateTime date2 = LocalDate.parse(inputString2, dtf);
    long daysBetween = Duration.between(date1, date2).toDays();
    System.out.println ("Days: " + daysBetween);
} catch (ParseException e) {
    e.printStackTrace();
}

দ্রষ্টব্য যে এই সমাধানটি ক্যালেন্ডারের দিনের সংখ্যা নয়, প্রকৃত 24 ঘন্টা-দিনের সংখ্যা দেবে। পরেরটির জন্য, ব্যবহার করুন

long daysBetween = ChronoUnit.DAYS.between(date1, date2)

আসল উত্তর (জাভা 8 হিসাবে পুরানো)

আপনি আপনার স্ট্রিংগুলির সাথে কিছু রূপান্তর করছেন যা প্রয়োজনীয় নয়। SimpleDateFormatএটির জন্য একটি শ্রেণি রয়েছে - এটি চেষ্টা করুন:

SimpleDateFormat myFormat = new SimpleDateFormat("dd MM yyyy");
String inputString1 = "23 01 1997";
String inputString2 = "27 04 1997";

try {
    Date date1 = myFormat.parse(inputString1);
    Date date2 = myFormat.parse(inputString2);
    long diff = date2.getTime() - date1.getTime();
    System.out.println ("Days: " + TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS));
} catch (ParseException e) {
    e.printStackTrace();
}

সম্পাদনা: যেহেতু এই কোডের সঠিকতা সম্পর্কিত কিছু আলোচনা হয়েছে: এটি সত্যই লিপ বছরগুলিতে যত্ন নেয়। যাইহোক, TimeUnit.DAYS.convertমিলিসেকেন্ডগুলি দিনগুলিতে রূপান্তরিত হওয়ায় ফাংশনটি নির্ভুলতা হারিয়েছে (আরও তথ্যের জন্য লিঙ্কযুক্ত ডকটি দেখুন)। এটি যদি সমস্যা diffহয় তবে হাতে রূপান্তর করা যায়:

float days = (diff / (1000*60*60*24));

নোট করুন যে এটি একটি floatমান, অগত্যা একটি নয় int


40
এটি একটি খারাপ বাস্তবায়ন যা লিপ বছরগুলি সঠিকভাবে অ্যাকাউন্ট করে না।
গ্রোভী এড

3
টাইমউনিত.ডি.এ.আই.এস.কনভার্ট (ডিফ, টাইমউনিট.মিল্লিএসসিএনডিএস)); <3
গিহগো

3
@ গ্রোভিএড আমি যা পরীক্ষা করেছি তা থেকে মনে হয় লিপ বছরগুলিতে এই কোডটির কোনও সমস্যা নেই। দয়া করে নোট রাখুন যে টাইমউনিট.ডাইস কনভার্ট () অবশিষ্ট ইউনিটগুলিকে উপেক্ষা করবে যেমন ৯৯৯ মিলি সেকেন্ডকে সেকেন্ডের ফলাফলে রূপান্তর করবে ০. এর অর্থ হ'ল আপনি যদি নতুন তারিখ () তারিখের একটি বিষয় হিসাবে ব্যবহার করেন তবে আপনি একদিন কম পেতে পারেন তাই যত্ন নিন
ক্লিটোস জি।

3
এটি লিপ বছরের জন্যও কাজ করে। এই String inputString1 = "28 2 2016"; String inputString2 = "1 3 2016";উত্তরটি দেখুন: 2
রোহিত গায়কওয়াদ

10
আমি বিশ্বাস করি এটি লিপ বছরগুলিতে সঠিকভাবে কাজ করে তবে এটি দিবালোকের সঞ্চয় সময় ব্যয় করে mes যদি আপনার লোকালে দিবালোক সঞ্চয় সময় থাকে, তবে প্রতি বছর, এমন একদিন থাকে যেটিতে ২৩ ঘন্টা থাকে এবং একদিন থাকে 25 ঘন্টা। এই সমাধানটি ভুলভাবে ধরে নিয়েছে যে প্রতিদিন 24 ঘন্টা রয়েছে। সুতরাং এটি কোনও সময়কালের জন্য ভুল উত্তর দেয় যা দিবালোকের সঞ্চয়ের সময় শুরু হয় এবং দিবালোকের সঞ্চয়ের সময় শেষ হয়। এই সমাধানটি ব্যবহার করবেন না - আরও ভাল উপায় আছে।
দাউদ ইবনে কারিম

100

সহজ উপায়:

public static long getDifferenceDays(Date d1, Date d2) {
    long diff = d2.getTime() - d1.getTime();
    return TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
}

7
ঠিক আছে, মূলত এটি বর্তমান সেরা উত্তরের সমান , যদিও এই উত্তরটি এটি একটি ফাংশন হিসাবে সরবরাহ করে।
অ্যান্ড্রু টি।

16
দ্রষ্টব্য, এই গণনা কেবল তখনই যখন দুটি তারিখের মধ্যে সময়ের ব্যবধান 24 getDifferenceDays(11PM, 4 AM nextday) == 0
ঘন্টাের

1
এই বাস্তবায়নটি আজকের মতো শেষ দিনটি নেয়। উদাহরণস্বরূপ, আমি যদি ডি 1 = আজ এবং ডি 2 = দিয়ে গতকাল প্রোগ্রামটি চালাই তবে 0 দিন ফিরে আসে ..
কারভোনিস্টাস

1
জুনে 30 দিন থাকার কারণে @ নবটি
দাউদ ইবনে কেরেম

1
এই উত্তরটি ভুল। এটি দিবালোকের সঞ্চয় সময় সঠিকভাবে মোকাবেলা করে না। আপনি যদি সঠিক ফলাফল চান তবে এটি ব্যবহার করবেন না।
দাউদ ইবনে কেরেম

89

জাভা 8-এ, আপনি LocalDateএবং ব্যবহার করে এটি সম্পাদন করতে পারেন DateTimeFormatter। থেকে Javadoc এর LocalDate:

লোকালডেট একটি অপরিবর্তনীয় তারিখ-সময় অবজেক্ট যা একটি তারিখ উপস্থাপন করে যা প্রায়শই বছর-মাস-দিন হিসাবে দেখা হয়।

এবং প্যাটার্ন ব্যবহার করে নির্মিত যেতে পারে DateTimeFormatter। এখানে Javadoc , এবং প্রাসঙ্গিক প্যাটার্ন অক্ষর আমি ব্যবহৃত:

প্রতীক - অর্থ - উপস্থাপনা - উদাহরণ

y - বছর-এর- বছর - বছর - 2004; 04

এম / এল - বছরের মাসের মাস - সংখ্যা / পাঠ্য - 7; 07; জুলাই; জুলাই; জে

d - মাসের দিন - সংখ্যা - 10

এখানে উদাহরণ:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;

public class Java8DateExample {
    public static void main(String[] args) throws IOException {
        final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MM yyyy");
        final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        final String firstInput = reader.readLine();
        final String secondInput = reader.readLine();
        final LocalDate firstDate = LocalDate.parse(firstInput, formatter);
        final LocalDate secondDate = LocalDate.parse(secondInput, formatter);
        final long days = ChronoUnit.DAYS.between(firstDate, secondDate);
        System.out.println("Days between: " + days);
    }
}

আরও সাম্প্রতিক শেষের সাথে ইনপুট / আউটপুট উদাহরণ:

23 01 1997
27 04 1997
Days between: 94

আরও সাম্প্রতিক প্রথম সহ:

27 04 1997
23 01 1997
Days between: -94

ভাল, আপনি এটি একটি সহজ পদ্ধতিতে পদ্ধতি হিসাবে করতে পারেন:

public static long betweenDates(Date firstDate, Date secondDate) throws IOException
{
    return ChronoUnit.DAYS.between(firstDate.toInstant(), secondDate.toInstant());
}

4
দুর্দান্ত উদাহরণ। এটি স্বয়ংক্রিয়ভাবে লিপ বছরের জন্য অ্যাকাউন্টগুলি। আপনি যদি 1991 এবং 1992 (লিপ ইয়ার) পরীক্ষা করে থাকেন তবে এটি সঠিকভাবে গণনা করে। পারফেক্ট!
ওয়াহগুয়ে

স্ট্যান্ডার্ড লাইব্রেরির দুর্দান্ত ব্যবহার।
ডায়ারেসিস

এটি বর্তমান গৃহীত উত্তর হওয়া উচিত। স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার এবং লিপ বছর এবং দিবালোক সঞ্চয়গুলির অ্যাকাউন্টগুলি কোনও সমস্যা হবে না।
পেহমলেলু

3
এটি বর্তমান / আধুনিক উত্তর (অন্যরা পুরানো)। এটি গ্রীষ্মের সময় (ডিএসটি) এর জন্যও দায়ী। জাভা 6 বা 7 এ ব্যবহার করতে, থ্রিটেন ব্যাকপোর্ট পান । নতুন নয় অ্যান্ড্রয়েড থ্রিটেনএবিপি-এ
ওলে ভিভি

দিবালোক সংরক্ষণের সময়টি অ্যাকাউন্টে নেয় না
অ্যালেক্স

63

দিবালোকের সঞ্চয়ের সময় যখন সময় সাশ্রয় করে তখন বেশিরভাগ / সমস্ত উত্তর আমাদের জন্য সমস্যা সৃষ্টি করে। জোদাটাইম ব্যবহার না করে সমস্ত তারিখের জন্য আমাদের কার্যক্ষম সমাধান এখানে solution এটি ক্যালেন্ডার অবজেক্টগুলি ব্যবহার করে:

public static int daysBetween(Calendar day1, Calendar day2){
    Calendar dayOne = (Calendar) day1.clone(),
            dayTwo = (Calendar) day2.clone();

    if (dayOne.get(Calendar.YEAR) == dayTwo.get(Calendar.YEAR)) {
        return Math.abs(dayOne.get(Calendar.DAY_OF_YEAR) - dayTwo.get(Calendar.DAY_OF_YEAR));
    } else {
        if (dayTwo.get(Calendar.YEAR) > dayOne.get(Calendar.YEAR)) {
            //swap them
            Calendar temp = dayOne;
            dayOne = dayTwo;
            dayTwo = temp;
        }
        int extraDays = 0;

        int dayOneOriginalYearDays = dayOne.get(Calendar.DAY_OF_YEAR);

        while (dayOne.get(Calendar.YEAR) > dayTwo.get(Calendar.YEAR)) {
            dayOne.add(Calendar.YEAR, -1);
            // getActualMaximum() important for leap years
            extraDays += dayOne.getActualMaximum(Calendar.DAY_OF_YEAR);
        }

        return extraDays - dayTwo.get(Calendar.DAY_OF_YEAR) + dayOneOriginalYearDays ;
    }
}

ডাইটলাইট সেভিং টাইম সুইচগুলি দুর্দান্তভাবে পরিচালনা করে
রবি সনওয়াল

1
উত্তরের জন্য +1, যুক্ত করতে চান যে আমাদের Calendar dayOne = (Calendar) day1.clone(), dayTwo = (Calendar) day2.clone();লাইনগুলি দরকার কারণ তারা নিশ্চিত করে যে মূল ক্যালেন্ডার মানগুলি ওভাররাইড করা হয়নি। আমি এই রেখাগুলি এগুলিকে অপ্রয়োজনীয় ভেবে মুছে ফেলেছি এবং আমার ফাংশনটির ভিতরে থেকে আমার মূল অবজেক্টের মানগুলি ওভাররাইট হয়ে যাচ্ছে এই বিষয়টি নিয়ে এক ঘন্টা নষ্ট করেছি।
রোহান কান্দওয়াল

2
ভুলে যাবেন না যে মাসের মানটি ক্যালেন্ডার শ্রেণিতে 0-ভিত্তিক। ক্যালেন্ডার.সেট (2015, 11, 30, 0, 00, 00); আসল অর্থ 30/12/2015
দিমিত্রি

20

সর্বোত্তম উপায় এবং এটি স্ট্রিংকে বোনাস হিসাবে রূপান্তর করে;)

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    try {
        //Dates to compare
        String CurrentDate=  "09/24/2015";
        String FinalDate=  "09/26/2015";

        Date date1;
        Date date2;

        SimpleDateFormat dates = new SimpleDateFormat("MM/dd/yyyy");

        //Setting dates
        date1 = dates.parse(CurrentDate);
        date2 = dates.parse(FinalDate);

        //Comparing dates
        long difference = Math.abs(date1.getTime() - date2.getTime());
        long differenceDates = difference / (24 * 60 * 60 * 1000);

        //Convert long to String
        String dayDifference = Long.toString(differenceDates);

        Log.e("HERE","HERE: " + dayDifference);
    }
    catch (Exception exception) {
        Log.e("DIDN'T WORK", "exception " + exception);
    }
}

ব্যতিক্রম নিক্ষেপ সম্ভাবনা কি?
CoDe

লক্ষ করুন যে এটি লিপ বছরগুলিতে কাজ করে না। উদাহরণস্বরূপ, "02/15/2020" থেকে "04/02/2020" পর্যন্ত 47 দিন। এই যুক্তি 46
ব্যবহারকারী 1070304

11

ব্যবহার করুন:

public int getDifferenceDays(Date d1, Date d2) {
    int daysdiff = 0;
    long diff = d2.getTime() - d1.getTime();
    long diffDays = diff / (24 * 60 * 60 * 1000) + 1;
    daysdiff = (int) diffDays;
    return daysdiff;
}

এই অ্যাকাউন্টটি কি লিপ বছর এবং দিবালোকের সঞ্চয়গুলির জন্য?
সর্বোচ্চ আলেকজান্ডার হান্না

1
@ ম্যাক্স অ্যালেক্সান্ডারহান্না এটি সঠিকভাবে লিপ বছরের জন্য অ্যাকাউন্ট করে, তবে দিবালোকের সঞ্চয় নয়। এটি কেবলমাত্র সঠিক উত্তর দেয় যখনই কোনও সময়কাল অ-দিবালোক সঞ্চয়ের সময় শুরু হয় তবে দিনের আলোর সঞ্চয়ের সময় শেষ হয়। অন্য সমস্ত ক্ষেত্রে, এটি একের পর এক বন্ধ রয়েছে।
দাউদ ইবনে কেরেম

1
@ সাইদেশ_কিলারু "+ 1" কী? আমি মনে করি আপনার এটি অপসারণ করা উচিত।
আলিসা

আমার একটি সমস্যা ছিল যে INT এ কাস্টিংয়ের ফলাফল 4 হয়েছিল এবং ভাসমান কাস্টিংয়ের ফলে 4.9 এসেছিল, তাই আমি যা চাইছিলাম তা আসলে তা নয়; সম্ভবত তারিখের জন্য 23:59 এবং তারিখ 2 এর জন্য 00:01 তে স্পষ্টভাবে যথেষ্ট বর্ণনা করা হয়নি এবং প্রত্যাশিত ফলাফলটি কী হবে।
এরিকজি

10

জাভা তারিখের লাইব্রেরিগুলি কুখ্যাতভাবে ভেঙে গেছে। আমি জোদা সময় ব্যবহার করার পরামর্শ দেব । এটি আপনার জন্য লিপ বছর, সময় অঞ্চল ইত্যাদির যত্ন নেবে।

নূন্যতম কাজের উদাহরণ:

import java.util.Scanner;
import org.joda.time.DateTime;
import org.joda.time.Days;
import org.joda.time.LocalDate;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

public class DateTestCase {

    public static void main(String[] args) {

        System.out.print("Insert first date: ");
        Scanner s = new Scanner(System.in);
        String firstdate = s.nextLine();
        System.out.print("Insert second date: ");
        String seconddate = s.nextLine();

        // Formatter
        DateTimeFormatter dateStringFormat = DateTimeFormat
                .forPattern("dd MM yyyy");
        DateTime firstTime = dateStringFormat.parseDateTime(firstdate);
        DateTime secondTime = dateStringFormat.parseDateTime(seconddate);
        int days = Days.daysBetween(new LocalDate(firstTime),
                                    new LocalDate(secondTime)).getDays();
        System.out.println("Days between the two dates " + days);
    }
}

4
এই উত্তরটি কয়েকটি উপায়ে উন্নত হতে পারে। (ক) জেভিএমের ডিফল্টর উপর নির্ভর করার পরিবর্তে সময় অঞ্চল নির্দিষ্ট করুন। সুতরাং যখন সেই তারিখটাইমফর্ম্যাটর তৈরি করার সময়, একটি কল যুক্ত করুন withZone( DateTimeZone.forID( "Europe/Berlin" ) )। (খ) কেন ব্যবহার LocalDateমধ্যে daysBetweenকল? কেবল ডেটটাইম অবজেক্টগুলি (ফার্স্টটাইম, সেকেন্ডটাইম) পাস করুন। পুরো দিন, কল করুন withTimeAtStartOfDays। (গ) তারিখ, সময় এবং তারিখের সময়কালের মধ্যে অস্পষ্টতা এড়াতে আমি firstDateTimeপরিবর্তে পরিবর্তনশীল নামগুলি ব্যবহার করব firstTime। (d) খারাপ ডেটা ইনপুট পরিচালনা করার জন্য কিছু ট্রাই-ক্যাচ যুক্ত করুন যা আমাদের প্রত্যাশিত ফর্ম্যাটের সাথে মেলে না।
বাসিল বাউর্ক

5
String dateStart = "01/14/2015 08:29:58";
String dateStop = "01/15/2015 11:31:48";

//HH converts hour in 24 hours format (0-23), day calculation
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");

Date d1 = null;
Date d2 = null;

d1 = format.parse(dateStart);
d2 = format.parse(dateStop);

//in milliseconds
long diff = d2.getTime() - d1.getTime();

long diffSeconds = diff / 1000 % 60;
long diffMinutes = diff / (60 * 1000) % 60;
long diffHours = diff / (60 * 60 * 1000) % 24;
long diffDays = diff / (24 * 60 * 60 * 1000);

System.out.print(diffDays + " days, ");
System.out.print(diffHours + " hours, ");
System.out.print(diffMinutes + " minutes, ");
System.out.print(diffSeconds + " seconds.");

1

আমি যখন আপনার প্রোগ্রামটি চালাচ্ছি, এটি এমনকি আমার দ্বিতীয় স্থানে প্রবেশ করতে পারে এমন পয়েন্টেও পৌঁছে না।

এটি সহজ এবং ত্রুটিযুক্ত প্রবণ।

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test001 {

    public static void main(String[] args) throws Exception {

        BufferedReader br = null;

        br = new BufferedReader(new InputStreamReader(System.in));
        SimpleDateFormat sdf = new SimpleDateFormat("dd MM yyyy");

        System.out.println("Insert first date : ");
        Date dt1 = sdf.parse(br.readLine().trim());

        System.out.println("Insert second date : ");
        Date dt2 = sdf.parse(br.readLine().trim());

        long diff = dt2.getTime() - dt1.getTime();

        System.out.println("Days: " + diff / 1000L / 60L / 60L / 24L);

        if (br != null) {
            br.close();
        }
    }
}

1
// date format, it will be like "2015-01-01"
private static final String DATE_FORMAT = "yyyy-MM-dd";

// convert a string to java.util.Date
public static Date convertStringToJavaDate(String date)
        throws ParseException {
    DateFormat dataFormat = new SimpleDateFormat(DATE_FORMAT);
    return dataFormat.parse(date);
}

// plus days to a date
public static Date plusJavaDays(Date date, int days) {
    // convert to jata-time
    DateTime fromDate = new DateTime(date);
    DateTime toDate = fromDate.plusDays(days);
    // convert back to java.util.Date
    return toDate.toDate();
}

// return a list of dates between the fromDate and toDate
public static List<Date> getDatesBetween(Date fromDate, Date toDate) {
    List<Date> dates = new ArrayList<Date>(0);
    Date date = fromDate;
    while (date.before(toDate) || date.equals(toDate)) {
        dates.add(date);
        date = plusJavaDays(date, 1);
    }
    return dates;
}

0

আমরা লোকালডেট এবং ক্রোনো ইউনিট জাভা লাইব্রেরিটি ব্যবহার করতে পারি, নীচের কোডটি ভাল কাজ করছে। তারিখটি yyyy-MM-dd বিন্যাসে হওয়া উচিত।

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.*;
class Solution {
    public int daysBetweenDates(String date1, String date2) {
        LocalDate dt1 = LocalDate.parse(date1);
        LocalDate dt2= LocalDate.parse(date2);

        long diffDays = ChronoUnit.DAYS.between(dt1, dt2);

        return Math.abs((int)diffDays);
    }
}

4
অবদান রাখতে চাওয়ার জন্য ধন্যবাদ আমি বিশ্বাস করি যে এই ভাল পরামর্শটি ইতিমধ্যে এমকোবিট দ্বারা উত্তরে উপস্থাপন করা হয়েছিল।
ওলে ভিভি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.