প্রদর্শনের জন্য কীভাবে একটি জাভা.এসকিউএল টাইমস্ট্যাম্প ফর্ম্যাট করবেন?


103

আমি কীভাবে আমার পছন্দ অনুসারে একটি java.sql টাইমস্ট্যাম্প গঠন করব? (প্রদর্শনের উদ্দেশ্যে একটি স্ট্রিংয়ে)

উত্তর:


160

java.sql.Timestampপ্রসারিত java.util.Date। আপনি করতে পারেন:

String s = new SimpleDateFormat("MM/dd/yyyy").format(myTimestamp);

অথবা সময় অন্তর্ভুক্ত করতে:

String s = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(myTimestamp);

3
এটি কার্যকর হবে, তবে সাবধান থাকুন যেহেতু সিম্পলডেট ফরমেট থ্রেড-নিরাপদ নয়।
ব্রায়ান অগ্নিউ

17
কেবলমাত্র একটি ছোট্ট অনুস্মারক যে যদি সিম্পলডিটফর্ম্যাট অবজেক্টটি কোনও স্থানীয়-স্কোপযুক্ত অবজেক্ট (এটি তৈরি করা হয় এবং কেবল কোনও পদ্ধতির অভ্যন্তরে ব্যবহৃত হয়), তবে এটি থ্রেড-নিরাপদ, যেহেতু এটি যে স্ট্যাকের উপরে থাকবে তা অন্তর্নিহিত "থ্রেড-সেফ" (যেমন এটি একক থ্রেডের অন্তর্গত)।
কোয়ান্টাম

5
সময় অন্তর্ভুক্ত করার জন্য আপনাকে সিম্পলডেটফর্ম্যাট ("এমএম / ডিডি / ইয়ি এইচ: মিমি") বা এর অনুরূপ কিছু ব্যবহার করতে হবে
অ্যাভারেজমার্কাস

1
যাদের এটির প্রয়োজন তাদের জন্য এটি সম্পূর্ণ করার জন্য, স্ট্রিং এস = নতুন সিম্পলডেটফর্ম্যাট ("এমএম / ডিডি / ইয়াই এইচ: মিমি: এসএস")। ফর্ম্যাট (মাইটাইমস্ট্যাম্প);
ইশান লিয়ানাগে

27

স্ট্রিং.ফর্ম্যাট (বা java.util. Formatter ) ব্যবহার করুন :

Timestamp timestamp = ...
String.format("%1$TD %1$TT", timestamp)

সম্পাদনা:
টিডি এবং টিটি বলতে কী বোঝার জন্য দয়া করে ফর্ম্যাটারের ডকুমেন্টেশন দেখুন: java.util এ ক্লিক করুন

প্রথম 'টি' বলতে বোঝায়:

't', 'T'    date/time   Prefix for date and time conversion characters.

এবং সেই 'টি' অনুসরণকারী চরিত্র:

'T'     Time formatted for the 24-hour clock as "%tH:%tM:%tS".
'D'     Date formatted as "%tm/%td/%ty". 

1
আমার মতে এটিই সেরা উত্তর। টাইমস্ট্যাম্পকে কেবল স্ট্রিতে রূপান্তর করার জন্য কোনও অতিরিক্ত অতিরিক্ত বস্তু তৈরি হয় না।
সলিল

1
এখন এটি স্পষ্ট হওয়া উচিত যেখানে ডকুমেন্টেশনগুলি এবং এটির অর্থ কী
8585421

খুবই ভদ্র. কেবল স্পষ্ট করে বলতে গেলে, উদাহরণটির দ্বারা উত্পাদিত ফর্ম্যাটিংটি দেখতে ভালো লাগে 05/30/17 00:39:18
নওম্যানন

@ নুমনন ধন্যবাদ, প্রশ্নটি যেমন দাবি করেছে
তেমনই

10

এই নির্দিষ্ট প্রশ্নের জন্য, java.text.SimpleDateFormatকাজের স্ট্যান্ডার্ড পরামর্শ , তবে দুর্ভাগ্যজনক পার্শ্ব প্রতিক্রিয়া রয়েছে যা SimpleDateFormat থ্রেড-নিরাপদ নয় এবং এটি বিশেষত বাজে সমস্যার কারণ হতে পারে কারণ এটি আপনার আউটপুটটিকে বহু-থ্রেডেড পরিস্থিতিতে দূষিত করবে এবং আপনি এটি করবেন না কোন ব্যতিক্রম পেতে!

আমি জোড়ার দিকে এর মতো কিছু দেখার জন্য দৃ strongly ়ভাবে সুপারিশ করব। কেন? এটি বর্তমান গ্রন্থাগারের তুলনায় জাভার জন্য অনেক বেশি সমৃদ্ধ এবং আরও স্বজ্ঞাত সময় / তারিখের গ্রন্থাগার (এবং নতুন এবং নতুন মানের জাভা তারিখ / সময় গ্রন্থাগারের ভিত্তি), সুতরাং আপনি শিগগিরই মানক শিখতে পারবেন এপিআই)।


8
ভাল সতর্কতা। তবে সম্বোধন করা খুব সহজ - সেশন স্কোপ / ইনস্ট্যান্স ভেরিয়েবল / স্ট্যাটিক প্রসঙ্গে সংরক্ষণ করে এবং তারপর একাধিক থ্রেড থেকে তাদের অ্যাক্সেস করে সিম্পলডেট ফরমেট উদাহরণগুলি ভাগ করবেন না। আপনার পদ্ধতির মধ্যে কেবল একটি নতুন সিম্পলডেট ফরমেট () তৈরি করুন এবং এটি ব্যবহারের পরে বাতিল করুন। এটি থ্রেডসেফ
গ্লেন সেরা

অবশ্যই যদি আপনি সত্যিই সিম্পলডিটফর্ম্যাট উদাহরণটি সঞ্চয় করতে / ভাগ করতে চান, তবে অ্যাক্সেসকে সিঙ্ক্রোনাইজ করুন: সিঙ্ক্রোনাইজড (সরলডেটফর্ম্যাটমিনস্ট্যান্স) = s = সরলডেটফরম্যাটআইনস্ট্যান্স.ফর্ম্যাট (মাইটাইমস্ট্যাম্প)} বা এসডিএফ ক্লাসের একটি কাস্টম এক্সটেনশন তৈরি করুন এবং বিন্যাস পদ্ধতিতে এটি স্বয়ংক্রিয়ভাবে করুন।
গ্লেন সেরা

9

আপনি যদি মাইএসকিউএল ব্যবহার করেন এবং ডাটাবেসটি নিজেই রূপান্তর সম্পাদন করতে চান তবে এটি ব্যবহার করুন:

DATE_FORMAT (তারিখ, ফরম্যাট)

আপনি যদি জাভা ব্যবহার করে ফর্ম্যাট করতে পছন্দ করেন তবে এটি ব্যবহার করুন:

java.text.SimpleDateFormat

SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );

2

ব্যবহার ক DateFormat। একটি আন্তর্জাতিকীকৃত অ্যাপ্লিকেশনটিতে প্রদত্ত ফর্ম্যাটটি ব্যবহার করুন getInstance। আপনি যদি স্পষ্টভাবে ফর্ম্যাটটি নিয়ন্ত্রণ করতে চান তবে SimpleDateFormatনিজেকে একটি নতুন তৈরি করুন।


-9

স্ট্রিং টাইমফআরএসএসএইচএসআরটি = টাইমফআরএসএসএইচ স্ট্রিং ();

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