strftime() এর মাধ্যমে সময় ফরম্যাট করা
সি প্রোগ্রামিং ভাষায় strftime() ফাংশনটি ব্যবহৃত হয় সময় এবং তারিখকে একটি নির্দিষ্ট ফরম্যাটে রূপান্তর করার জন্য। এটি time.h হেডার ফাইলের অন্তর্গত এবং এটি ব্যবহারকারীর জন্য সময় এবং তারিখের আউটপুট কাস্টমাইজ করতে সহায়ক।
strftime() ফাংশনটি একটি struct tm (যা সময় সম্পর্কিত বিভিন্ন মান ধারণ করে) ব্যবহার করে, এবং আপনি নির্দিষ্ট ফরম্যাট স্ট্রিং দিয়ে আউটপুট নিয়ন্ত্রণ করতে পারেন।
সিঙ্কট্যাক্স:
size_t strftime(char *str, size_t size, const char *format, const struct tm *tm);str: এটি সেই বাফার যেখানে ফরম্যাট করা সময় স্টোর হবে।size: বাফারের আকার (বাফারটি কতটা বড় হতে হবে)।format: ফরম্যাট স্ট্রিং, যা সময় কিভাবে প্রদর্শিত হবে তা নির্ধারণ করে।tm: এটি একটিstruct tmটাইপের পয়েন্টার যা সময়ের মান ধারণ করে।
strftime() এর ফরম্যাট স্ট্রিং
ফরম্যাট স্ট্রিংয়ের মধ্যে বিভিন্ন কেস-পদ্বতির জন্য নির্দিষ্ট চরিত্র ব্যবহার করা হয়। কিছু সাধারণ ফরম্যাটের চরিত্র নিচে দেওয়া হলো:
| ফরম্যাট চরিত্র | বর্ণনা |
|---|---|
%Y | পূর্ণ বছর (চার অঙ্কের) |
%m | মাস (01-12) |
%d | মাসের দিন (01-31) |
%H | ঘণ্টা (00-23) |
%M | মিনিট (00-59) |
%S | সেকেন্ড (00-59) |
%I | ঘণ্টা (12-ঘণ্টার পদ্ধতিতে, 01-12) |
%p | AM/PM |
%A | পূর্ণ সপ্তাহের দিন (Monday, etc.) |
%a | সংক্ষিপ্ত সপ্তাহের দিন (Mon, etc.) |
%B | পূর্ণ মাস (January, etc.) |
%b | সংক্ষিপ্ত মাস (Jan, Feb, etc.) |
উদাহরণ: strftime() ব্যবহার
#include <stdio.h>
#include <time.h>
int main() {
time_t t;
struct tm *tm_info;
char buffer[80];
// বর্তমান সময় পাওয়া
time(&t);
tm_info = localtime(&t);
// সময় ফরম্যাট করা
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", tm_info);
// ফরম্যাট করা সময় প্রদর্শন
printf("Formatted time: %s\n", buffer);
return 0;
}ব্যাখ্যা:
time(&t): এটি বর্তমান সময় (Unix টাইমস্ট্যাম্প) সংগ্রহ করে।localtime(&t): এটিstruct tmটাইপের পয়েন্টারে স্থানীয় সময় ধারণ করে।strftime(): এটিbufferতে ফরম্যাট করা সময় লিখে। ফরম্যাট স্ট্রিং"%Y-%m-%d %H:%M:%S"ব্যবহার করা হয়েছে, যা আউটপুটকে বছরের-মাসের-দিনের ঘণ্টা:মিনিট:সেকেন্ড ফরম্যাটে রূপান্তরিত করবে।
আউটপুট:
Formatted time: 2024-11-10 14:25:39এখানে, strftime() ফাংশনটি বর্তমান সময়কে "%Y-%m-%d %H:%M:%S" ফরম্যাটে রূপান্তর করেছে।
strftime() ব্যবহার করতে কিছু সাধারণ কেস:
তারিখ এবং সময়ের পূর্ণ ফরম্যাট:
strftime(buffer, sizeof(buffer), "%A, %B %d, %Y %H:%M:%S", tm_info); printf("Full date and time: %s\n", buffer);আউটপুট:
Full date and time: Sunday, November 10, 2024 14:25:39শুধুমাত্র সময় (ঘণ্টা:মিনিট:সেকেন্ড):
strftime(buffer, sizeof(buffer), "%H:%M:%S", tm_info); printf("Time: %s\n", buffer);আউটপুট:
Time: 14:25:39শুধুমাত্র তারিখ (বছর-মাস-দিন):
strftime(buffer, sizeof(buffer), "%Y-%m-%d", tm_info); printf("Date: %s\n", buffer);আউটপুট:
Date: 2024-11-10
সারসংক্ষেপ
strftime()ফাংশনটি সি প্রোগ্রামে সময় এবং তারিখকে নির্দিষ্ট ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়।- এটি
struct tmটাইপের পয়েন্টারের মাধ্যমে স্থানীয় সময়ের মান গ্রহণ করে এবং তা একটি স্ট্রিংয়ে রূপান্তর করে। - ফরম্যাট স্ট্রিংয়ের মাধ্যমে আপনি সময় এবং তারিখের আউটপুট কাস্টমাইজ করতে পারেন, যেমন
%Y(বছর),%m(মাস),%d(দিন),%H(ঘণ্টা),%M(মিনিট),%S(সেকেন্ড) ইত্যাদি।
strftime() ফাংশনটি সময় এবং তারিখের বিভিন্ন ফরম্যাটে আউটপুট প্রদানের জন্য অত্যন্ত কার্যকরী এবং এটি বিশেষভাবে লগ ফাইল তৈরি, সময় নির্ধারণ, অথবা ইউজার ইন্টারফেসে সময় প্রদর্শনের জন্য ব্যবহৃত হয়।
Read more