কিভাবে একটি স্ট্রিং ডেটকে দীর্ঘ মিলসেকেন্ডে রূপান্তর করতে হয়


88

স্ট্রিংয়ের ভিতরে আমার একটি তারিখ রয়েছে, "12-ডিসেম্বর -2012" এর মতো কিছু। আমি কীভাবে এটিকে মিলি সেকেন্ডে (দীর্ঘ) রূপান্তর করতে পারি?

উত্তর:



17
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
Date date = (Date)formatter.parse("12-December-2012");
long mills = date.getTime();

11

কেউ এই প্রশ্নের আধুনিক উত্তর সরবরাহ করে এমন সময় about ২০১২ সালে যখন প্রশ্ন জিজ্ঞাসা করা হয়েছিল, উত্তরগুলিও আবার পোস্ট করা হয়েছিল তখন ভাল উত্তর ছিল। ২০১ 2016-এ পোস্ট করা উত্তরগুলি কেন তত্কালীন দীর্ঘকালীন ক্লাস ব্যবহার করে SimpleDateFormatএবং Dateএটি আমার কাছে কিছুটা রহস্য। java.time, আধুনিক জাভা তারিখ এবং সময় এপিআই যা জেএসআর -310 হিসাবে পরিচিত, এটি কাজ করার জন্য খুব সুন্দর। থ্রিটেনএবিপি-র মাধ্যমে আপনি এটিকে অ্যান্ড্রয়েডে ব্যবহার করতে পারেন, এই প্রশ্নটি দেখুন: অ্যান্ড্রয়েড প্রকল্পে থ্রিটেনএবিপি কীভাবে ব্যবহার করবেন

বেশিরভাগ উদ্দেশ্যে আমি ইউটিসিতে দিনের শুরুতে পর্বের পর থেকে মিলিসেকেন্ডগুলি ব্যবহার করার পরামর্শ দিই । এগুলি পেতে:

    DateTimeFormatter dateFormatter
            = DateTimeFormatter.ofPattern("d-MMMM-uuuu", Locale.ENGLISH);
    String stringDate = "12-December-2012";
    long millisecondsSinceEpoch = LocalDate.parse(stringDate, dateFormatter)
            .atStartOfDay(ZoneOffset.UTC)
            .toInstant()
            .toEpochMilli();
    System.out.println(millisecondsSinceEpoch);

এই মুদ্রণ:

1355270400000

নির্দিষ্ট কিছু সময় অঞ্চলে যদি দিনের শুরুতে সময় প্রয়োজন হয় তবে ইউটিসির পরিবর্তে সেই সময় অঞ্চলটি নির্দিষ্ট করুন, উদাহরণস্বরূপ:

            .atStartOfDay(ZoneId.of("Asia/Karachi"))

প্রত্যাশিত হিসাবে এটি কিছুটা আলাদা ফলাফল দেয়:

1355252400000

আরেকটি বিষয় লক্ষণীয়, আপনার একটি লোকাল সরবরাহ মনে রাখবেন DateTimeFormatter। আমি ডিসেম্বরকে ইংরেজী হতে নিয়েছিলাম, অন্যান্য ভাষা আছে যেখানে সেই মাসটিকে একই বলা হয়, তাই দয়া করে যথাযথ লোকালটি নিজেই বেছে নিন। যদি আপনি কোনও লোকেল সরবরাহ না করেন তবে ফর্ম্যাটরটি জেভিএম এর লোকাল সেটিংটি ব্যবহার করবে যা অনেক ক্ষেত্রে কাজ করতে পারে এবং তারপরে অপ্রত্যাশিতভাবে একদিন ব্যর্থ হয় যখন আপনি কোনও ডিভাইসে আলাদা লোকাল সেটিং দিয়ে অ্যাপ চালাবেন।


9

SimpleDateFormatশ্রেণীর দিকে একবার নজর দিন যা a কে পার্স করতে পারে এবং ক্লাসের পদ্ধতিটি Stringফিরে আসতে পারে ।DategetTimeDate



3

আপনি স্ট্রিংয়ের তারিখ পার্স করতে সরলডেটফর্ম্যাট ব্যবহার করতে পারেন।


1

সবচেয়ে সহজ উপায় তারিখটি ব্যবহারের তারিখ () এবং গেটটাইম () ব্যবহার করা হয়

    Date dte=new Date();
    long milliSeconds = dte.getTime();
    String strLong = Long.toString(milliSeconds);
    System.out.println(milliSeconds)

1

সরলডেটফর্ম্যাট ব্যবহার করে আপনি এটি সহজেই অর্জন করতে পারেন।

1) প্রথম স্ট্রিমটি জাভাতে রূপান্তর করুন simp

২) তারিখ থেকে মিলিসেকের গণনা পাওয়ার জন্য গেটটাইম পদ্ধতিটি ব্যবহার করুন

 public class test {
      public static void main(String[] args) {
      String currentDate = "01-March-2016";
      SimpleDateFormat f = new SimpleDateFormat("dd-MMM-yyyy");
     Date parseDate = f.parse(currentDate);
     long milliseconds = parseDate.getTime();
  }
        }

আরও উদাহরণ এখানে ক্লিক করুন


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