এএম / প্রধানমন্ত্রীর সাথে 12 ঘন্টা ফর্ম্যাটে বর্তমান সময় প্রদর্শন করুন


184

বর্তমানে সময়টি ১৩:৩ PM পিএম হিসাবে প্রদর্শিত হয়েছে তবে আমি এএম / পিএমের সাথে 12 ঘন্টা ফর্ম্যাট হিসাবে প্রদর্শন করতে চাই, অর্থাৎ 13:35 অপরাহ্নের পরিবর্তে 1:35 এএম

বর্তমান কোডটি নীচে হিসাবে রয়েছে

private static final int FOR_HOURS = 3600000;
private static final int FOR_MIN = 60000;
public String getTime(final Model model) {
    SimpleDateFormat formatDate = new SimpleDateFormat("HH:mm a");
    formatDate.setTimeZone(userContext.getUser().getTimeZone());
    model.addAttribute("userCurrentTime", formatDate.format(new Date()));
    final String offsetHours = String.format("%+03d:%02d", userContext.getUser().getTimeZone().getRawOffset()
    / FOR_HOURS, Math.abs(userContext.getUser().getTimeZone().getRawOffset() % FOR_HOURS / FOR_MIN));
    model.addAttribute("offsetHours",
                offsetHours + " " + userContext.getUser().getTimeZone().getDisplayName(Locale.ROOT));
    return "systemclock";
}

7
চেষ্টা করুনSimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");
তারসেম সিং

1
উপরোক্ত প্রশ্নটি ২০১৩ সালে জিজ্ঞাসা করা হয়েছিল এবং আপনি যেটি উল্লেখ করেছেন ২০১৪ সালে তাই এই উপরের প্রশ্নটি কীভাবে দ্রুতগতির প্রশ্নের সদৃশ হতে পারে উভয় প্রশ্নই বিভিন্ন প্রযুক্তির জন্য জিজ্ঞাসা করা হয়েছিল
রোনান

4
@ জে-ডিজল কীভাবে জাভা প্রশ্নটি একটি সুইফ্ট প্রশ্নের সদৃশ হতে পারে?
মার্ক রোটভিল

দোহ আমার ক্ষমা, আপনি সঠিক!
জে-ডিজল

উত্তর:


452

তারিখের ধরণ ব্যবহার করে এটি পাওয়ার সহজতম উপায় - h:mm aকোথায় where

  • এইচ - সকাল / বিকেল সময় (1-12)
  • মি - ঘন্টা
  • a - am / pm মার্কার

টুকিটাকি সংকেতলিপি :

DateFormat dateFormat = new SimpleDateFormat("hh:mm a");

ডকুমেন্টেশনে আরও পড়ুন - সিম্পলডেট ফরমেট জাভা 7


61
মনে রাখবেন যে দুটি এইচ ("এইচএইচ") ব্যবহার করা আপনাকে একটি শীর্ষস্থানীয় শূন্য দেয় (অর্থাত্ 01: 23 পূর্বাহ্ন)। একটি "এইচ" আপনাকে অগ্রণী শূন্য ছাড়াই ঘন্টা দেয় (1:23 পূর্বাহ্ণ)।
বেন জাকুবেন 19

9
'Am' এবং 'p.m' এর পরিবর্তে AM&PM কীভাবে পাবেন
আকাশ বিএস

@ ক্যাশাবস আমি মনে করি এর চারপাশে কোনও সহজ উপায় নেই তবে আপনি এর মতো কিছু চেষ্টা করতে পারেন: আপনার সম্পূর্ণ তারিখের স্ট্রিংয়ে (দৈর্ঘ্য - 4) থেকে (দৈর্ঘ্য -1) এ স্ট্রিং কল করুন এবং এটি একটি ভেরিয়েবল_রিজিনাল এ সংরক্ষণ করুন তারপরে একটি নতুন ভেরিয়েবল তৈরি করুন যা ব্যবহার করবে প্রথম তৈরি করা ভেরিয়েবল_রিজিনাল এবং "এম" এর সাথে "এম" প্রতিস্থাপন করে তারপরে পদ্ধতিটি কল করুন তার পরে আপনার সম্পূর্ণ তারিখের স্ট্রিংয়ে ফিরে যান এবং রিপ্লেস (ভেরিয়েবল_রিজিনাল, ভেরিয়েবল_মডিফিকেশন) কল করুন এটি আপনি যা সন্ধান করছেন তা অর্জন করবে
তামিম আতাফি

@ ক্যাশাবস তবে আপনি স্থানীয় ব্যবহার করতে পারবেন, প্রতিটি স্থানীয় বিভিন্ন তারিখের ফর্ম্যাট ব্যবহার করে, আমি বিশ্বাস করি মার্কিন স্থানীয় ব্যবহার করে আপনি যা খুঁজছেন তা অর্জন করতে পারে
তামিম আত্তফি

@akashbs আরও তথ্যের জন্য এই ডক্সগুলি পরীক্ষা করুন: developer.android.com/references/java/text/SimleDate
Format

109

এটা ব্যবহার কর SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");

এখানে চিত্র বর্ণনা লিখুন

সিম্পলডেট ফরমেটের জন্য জাভা ডক্স


1
এখনই তৈরি ed এই ফর্ম্যাটিং কোডগুলি এখন DateTimeFormatterজেএসআর 310 অনুযায়ী ক্লাসের ফর্ম্যাটিং কোডগুলি দ্বারা সংযোজন করা হয়
বেসিল বোর্ক

63

"hh:mm a"পরিবর্তে ব্যবহার করুন "HH:mm a"। এখানে hh12 ঘন্টা ফর্ম্যাট এবং HH24 ঘন্টা বিন্যাসের জন্য।

লাইভ ডেমো


ধন্যবাদ @ রুচিরাগায়ান রানাউইই ... আমি কেবল 24 ফর্ম্যাটটি ক্যাপচার করে এএম / পিএম বিন্যাসে রূপান্তর করতে ভাবছি ...
গুমুরুহ

এটা গুরুত্বপূর্ণ. আমার সবেমাত্র একটি কেস হয়েছিল যেখানে "নভেম্বর 18 2016 5:28 PM" "2016-11-18T05: 28: 00" "2016-11-18T17: 28: 00" এর পরিবর্তে রূপান্তরিত হয়েছিল কারণ আমি ভুল ঘন্টা স্থানধারকটি ব্যবহার করেছি। ধন্যবাদ!
কেকজপাণ্ডা

20
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yy hh.mm.ss.S aa");
String formattedDate = dateFormat.format(new Date()).toString();
System.out.println(formattedDate);

আউটপুট: 11-সেপ্টেম্বর -13 12.25.15.375 এএম


17
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm:ss a");
  • এইচটি এএম / প্রধানমন্ত্রী বারের জন্য ব্যবহৃত হয় (1-12) -12

  • এইচ 24 ঘন্টা বার (1-24) জন্য ব্যবহৃত হয়।

  • এ এএম / প্রধানমন্ত্রীর চিহ্নিতকারী

  • মিটার ঘন্টা হয়

দ্রষ্টব্য: দু'একটি একটি অগ্রণী শূন্য প্রিন্ট করবে: 01:13 অপরাহ্ন। এক ঘন্টা অগ্রণী শূন্য ছাড়াই মুদ্রণ করবে: 1:13 অপরাহ্ন।

দেখে মনে হচ্ছে মূলত সবাই আমাকে এর আগেই মারধর করেছে তবে আমি খনন করি


11
// hh:mm will print hours in 12hrs clock and mins (e.g. 02:30)
System.out.println(DateTimeFormatter.ofPattern("hh:mm").format(LocalTime.now()));

// HH:mm will print hours in 24hrs clock and mins (e.g. 14:30)
System.out.println(DateTimeFormatter.ofPattern("HH:mm").format(LocalTime.now())); 

// hh:mm a will print hours in 12hrs clock, mins and AM/PM (e.g. 02:30 PM)
System.out.println(DateTimeFormatter.ofPattern("hh:mm a").format(LocalTime.now())); 

ভাল, আমি এখানে খুঁজে পেয়েছি এটি সেরা উত্তর, ধন্যবাদ
মার্টিন ভোলেক

7

জাভা 8 ব্যবহার করে:

LocalTime localTime = LocalTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("hh:mm a");
System.out.println(localTime.format(dateTimeFormatter));

আউটপুট AM/PMফর্ম্যাট হয়।

Sample output:  3:00 PM

/ পাঠ্য উত্পন্ন করতে ব্যবহৃত ভাষা এবং সাংস্কৃতিক নিয়মগুলি নির্ধারণ করতে, সেই ফর্ম্যাটর অবজেক্টে Localeকল withLocaleকরে একটি নির্দিষ্ট করুন। AMPM
বেসিল Bourque

5

কেবল নীচের বিবৃতিটি প্রতিস্থাপন করুন এবং এটি কাজ করবে।

SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");

3

আপনি যদি এএম এর সাথে বর্তমান সময় চান, অ্যান্ড্রয়েড ব্যবহারে প্রধানমন্ত্রী

String time = new SimpleDateFormat("hh : mm a", Locale.getDefault()).format(Calendar.getInstance().getTime());

আপনি যদি সন্ধ্যা, সন্ধ্যা সহ বর্তমান সময় চান

String time = new SimpleDateFormat("hh : mm a", Locale.getDefault()).format(Calendar.getInstance().getTime()).toLowerCase();

অথবা

এপিআই স্তর 26 থেকে

LocalTime localTime = LocalTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("hh:mm a");
String time = localTime.format(dateTimeFormatter);

2
2019 সালে দয়া করে তরুণদের দীর্ঘকালীন এবং কুখ্যাত সমস্যাযুক্ত SimpleDateFormatক্লাসটি ব্যবহার করতে শেখাবেন না । কমপক্ষে প্রথম বিকল্প হিসাবে না। এবং কোনও সংরক্ষণ ছাড়া না। java.timeআধুনিক জাভা তারিখ এবং সময় এপিআই এবং এর মধ্যে আজ আমরা আরও অনেক ভাল DateTimeFormatter
ওলে ভিভি

1
ধন্যবাদ। আপনি যদি আপনার অ্যান্ড্রয়েড প্রকল্পে জাভা.টাইমের ব্যাকপোর্ট থ্রিটেনএবিপি যোগ করেন তবে আধুনিক উত্তরটি কম এপিআই স্তরেও ব্যবহার করা যেতে পারে । অ্যান্ড্রয়েড প্রজেক্টে থ্রিটেনএবিপি কীভাবে ব্যবহার করবেন তা দেখুন ( এটির মতো সাধারণ কাজের জন্য, মানটি বিতর্কযোগ্য হতে পারে তবে আরও কিছুটা তারিখ এবং সময় কাজের জন্য আমি এটি প্রস্তাব দিই)।
ওলে ভিভি

যেহেতু এএম এবং পিএম খুব কমই ইংরেজী ব্যতীত অন্য ভাষায় ব্যবহৃত হয়, আমি সম্ভবত ব্যবহার করতাম DateTimeFormatter.ofPattern("hh:mm a", Locale.ENGLISH)(বা অন্য কোনও ইংরেজীভাষী লোক্যাল)।
ওলে ভিভি

2
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm a");

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


2
    //To get Filename + date and time


    SimpleDateFormat f = new SimpleDateFormat("MMM");
    SimpleDateFormat f1 = new SimpleDateFormat("dd");
    SimpleDateFormat f2 = new SimpleDateFormat("a");

    int h;
         if(Calendar.getInstance().get(Calendar.HOUR)==0)
            h=12;
         else
            h=Calendar.getInstance().get(Calendar.HOUR)

    String filename="TestReport"+f1.format(new Date())+f.format(new Date())+h+f2.format(new Date())+".txt";


The Output Like:TestReport27Apr3PM.txt

উপায় খুব সংশ্লেষিত এবং অনিশ্চিত। যদি আপনাকে অবশ্যই অবহেলিত সিম্পলডেট ফরমেটটি ব্যবহার করতে হয়, তবে কমপক্ষে সমস্ত কিছু একটি কলে রাখুন। এছাড়াও দয়া করে ব্যাখ্যা করুন যে আপনি মধ্যরাত থেকে 1 টি পর্যন্ত কেন আসল ঘন্টাটির পরিবর্তে 12 ব্যবহার করেন Also এছাড়াও, কেউ ফাইলের নাম জিজ্ঞাসা করেনি।
রবার্ট

2

TL; ড

জেএসআর 310 এর আধুনিক জাভা.টাইম ক্লাসগুলি 12-ঘন্টার হার্ড-কোডিং এবং এএম / প্রধানমন্ত্রী না হয়ে স্বয়ংক্রিয়ভাবে স্থানীয় পাঠ্য তৈরি করতে দিন।

LocalTime                                     // Represent a time-of-day, without date, without time zone or offset-from-UTC.
.now(                                         // Capture the current time-of-day as seen in a particular time zone.
    ZoneId.of( "Africa/Casablanca" )          
)                                             // Returns a `LocalTime` object.
.format(                                      // Generate text representing the value in our `LocalTime` object.
    DateTimeFormatter                         // Class responsible for generating text representing the value of a java.time object.
    .ofLocalizedTime(                         // Automatically localize the text being generated.
        FormatStyle.SHORT                     // Specify how long or abbreviated the generated text should be.
    )                                         // Returns a `DateTimeFormatter` object.
    .withLocale( Locale.US )                  // Specifies a particular locale for the `DateTimeFormatter` rather than rely on the JVM’s current default locale. Returns another separate `DateTimeFormatter` object rather than altering the first, per immutable objects pattern.
)                                             // Returns a `String` object.

10:31 AM

স্বয়ংক্রিয়ভাবে স্থানীয়করণ ize

এএম / প্রধানমন্ত্রীর সাথে 12-ঘন্টা ঘড়ির উপর জোর দেওয়ার পরিবর্তে আপনি জাভা.টাইম আপনার জন্য স্বয়ংক্রিয়ভাবে স্থানীয়করণ করতে চাইতে পারেন । কলDateTimeFormatter.ofLocalizedTime

স্থানীয়করণের জন্য, নির্দিষ্ট করুন:

  • FormatStyle স্ট্রিংটি কত দীর্ঘ বা সংক্ষিপ্ত হওয়া উচিত তা নির্ধারণ করতে।
  • Locale নির্ধারণ:
    • মানুষের ভাষা দিনের নামের অনুবাদ, মাসের নাম, এবং এই ধরনের জন্য।
    • সাংস্কৃতিক নিয়ম সংক্ষেপ, ক্যাপিটালাইজেশন, যতিচিহ্ন থাকতে পারে, বিভাজক এবং এই ধরনের সমস্যা সিদ্ধান্ত।

একটি নির্দিষ্ট সময় অঞ্চলে দেখা হিসাবে আমরা এখানে বর্তমান সময়ের বর্তমান সময় পাই। তারপরে আমরা সেই সময়ের প্রতিনিধিত্ব করার জন্য পাঠ্য উত্পন্ন করি। আমরা কানাডা সংস্কৃতিতে ফরাসী ভাষায় এবং পরে মার্কিন সংস্কৃতিতে ইংরেজি ভাষাতে স্থানীয়করণ করি।

ZoneId z = ZoneId.of( "Asia/Tokyo" ) ;
LocalTime localTime = LocalTime.now( z ) ;

// Québec
Locale locale_fr_CA = Locale.CANADA_FRENCH ;  // Or `Locale.US`, and so on.
DateTimeFormatter formatterQuébec = DateTimeFormatter.ofLocalizedTime( FormatStyle.SHORT ).withLocale( locale_fr_CA ) ;
String outputQuébec = localTime.format( formatterQuébec ) ;

System.out.println( outputQuébec ) ;

// US
Locale locale_en_US = Locale.US ;  
DateTimeFormatter formatterUS = DateTimeFormatter.ofLocalizedTime( FormatStyle.SHORT ).withLocale( locale_en_US ) ;
String outputUS = localTime.format( formatterUS ) ;

System.out.println( outputUS ) ;

IdeOne.com এ এই কোডটি সরাসরি চালিত দেখুন ।

10 এইচ 31

10:31 AM


0
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss a");

1
আপনি যদি নিজের উত্তর সম্পর্কে কিছুটা ব্যাখ্যা করেন তবে এটি আরও কার্যকর।
নিমা দেরখশনঞ্জন

("এইচএইচ: মিমি: এসএস এ") >>> এখানে যদি বিবাহের সময় ব্যবহার করা হয় তবে 24 ঘন্টা উপস্থিত হবে। সুতরাং আমরা যদি আপনার সময়ে AM / PM করতে চাই তবে এই ফর্ম্যাটটি যুক্ত করুন। কোন বিভ্রান্তি যদি আমাকে জানাবেন।
রাজু আহমেদ

0

আপনার বর্তমান মোবাইল তারিখ এবং সময় ফর্ম্যাটটি এতে রেখে

ফেব্রুয়ারী 9, 2018 10:36:59 অপরাহ্ন

Date date = new Date();
 String stringDate = DateFormat.getDateTimeInstance().format(date);

আপনি আপনার কাছে দেখাতে পারেন যে Activity, Fragment, CardView, ListViewব্যবহার করে যে কোন জায়গায়TextView

` TextView mDateTime;

  mDateTime=findViewById(R.id.Your_TextViewId_Of_XML);

  Date date = new Date();
  String mStringDate = DateFormat.getDateTimeInstance().format(date);
  mDateTime.setText("My Device Current Date and Time is:"+date);

  `

0
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.util.Date;

public class Main {
   public static void main(String [] args){
       try {
            DateFormat parseFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm a");
            String sDate = "22-01-2019 13:35 PM";
            Date date = parseFormat.parse(sDate);
            SimpleDateFormat displayFormat = new SimpleDateFormat("dd-MM-yyyy hh:mm a");
            sDate = displayFormat.format(date);
            System.out.println("The required format : " + sDate);
        } catch (Exception e) {}
   }
}

3
আপনি একটি ব্যতিক্রম খাচ্ছেন। ব্যতিক্রম হ্যান্ডলারের কমপক্ষে একটি সতর্কতা প্রদান করা উচিত।
এসএল বার্থ - মনিকা

-2

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

SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");

আশা করি এটি আপনাকে সহায়তা করবে।


1
একটি নতুন যুক্ত করার আগে দয়া করে অন্যান্য উত্তরগুলি পড়ুন। : আপনার উত্তর মূলত এই এক হিসাবে একই stackoverflow.com/a/18736764/4687348
FelixSFD

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