যতিচিহ্ন ছাড়াই বর্তমান তারিখ এবং সময় প্রদর্শন করুন


118

উদাহরণস্বরূপ, আমি বর্তমান তারিখ এবং সময়টিকে নিম্নলিখিত ফর্ম্যাট হিসাবে প্রদর্শন করতে চাই:

yyyymmddhhmmss 

আমি কেমন করে ঐটি করি? এটা দিয়ে বলে মনে হয় সবচেয়ে তারিখ বিন্যাস আসে মত -, /, :, ইত্যাদি

উত্তর:


170

আপনি এখানে যান:

date +%Y%m%d%H%M%S

man dateউপরের দিকে যেমনটি বলা হয়েছে, আপনি dateকমান্ডটি এটির মতো ব্যবহার করতে পারেন :

date [OPTION]... [+FORMAT]

এটি, আপনি এটি দিয়ে শুরু করে একটি ফর্ম্যাট প্যারামিটার দিতে পারেন +। আমি সম্ভবত ফর্ম্যাটিং প্রতীকগুলির অর্থটি অনুমান করতে পারি:

  • %Y বছরের জন্য
  • %m মাসের জন্য
  • %d দিনের জন্য
  • ... ইত্যাদি

আপনি এটি এবং অন্যান্য ফর্ম্যাটিং প্রতীকগুলি খুঁজে পেতে পারেন man date


36

শেল স্ক্রিপ্টের একটি সাধারণ উদাহরণ

#!/bin/bash

current_date_time="`date +%Y%m%d%H%M%S`";
echo $current_date_time;

বিরামচিহ্ন বিন্যাস ছাড়াই: - +% Y% m% d% H% M% S
বিরামচিহ্ন সহ: - +% Y-% m-% d% এইচ:% এম:% এস


2
"`date +%Y-%m-%d %H:%M:%S`"আমাকে একটি দেয়date: illegal time format
সাইনাক্স

6

আপনি যদি ব্যাশ ব্যবহার করে থাকেন তবে আপনি নিম্নলিখিত কমান্ডগুলির মধ্যে একটি ব্যবহার করতে পারেন:

printf '%(%Y%m%d%H%M%S)T'       # prints the current time
printf '%(%Y%m%d%H%M%S)T' -1    # same as above
printf '%(%Y%m%d%H%M%S)T' -2    # prints the time the shell was invoked

আপনি স্টডআউটে মুদ্রণের পরিবর্তে -v varnameফলাফল সংরক্ষণের জন্য বিকল্পটি ব্যবহার করতে পারেন $varname:

printf -v varname '%(%Y%m%d%H%M%S)T'

যদিও ডেট কমান্ড সর্বদা একটি সাব-শেলের মধ্যে কার্যকর করা হবে (অর্থাত্ একটি পৃথক প্রক্রিয়াতে) প্রিন্টফ একটি অন্তর্নির্মিত কমান্ড এবং তাই দ্রুততর হবে।


আপনি যে %বিকল্পগুলিতে পাস করতে পারেন সে সম্পর্কে আরও ডকুমেন্টেশন সন্ধানের জন্য, এটি dateকমান্ডটি ব্যবহার করছে বলে মনে হচ্ছে । সুতরাং, man dateআপনাকে উপলভ্য বিকল্পগুলি দেবে।
ইলেক্ট্রোভিয়ার

4

যতিচিহ্ন ছাড়াই (যেমন @ ব্রুসোথম্যান উল্লেখ করেছেন):

current_date_time="`date +%Y%m%d%H%M%S`";
echo $current_date_time;

O / পি:

20170115072120

বিরামচিহ্ন সহ :

current_date_time="`date "+%Y-%m-%d %H:%M:%S"`";
echo $current_date_time;

O / পি:

2017-01-15 07:25:33

0

প্যারামিটার সম্প্রসারণ (প্রয়োজনীয় bash 4.4বা আরও নতুন) ব্যবহার করে এটি করার জন্য আকর্ষণীয় / মজার উপায় :

${parameter@operator} - P operator

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

$ show_time() { local format='\D{%Y%m%d%H%M%S}'; echo "${format@P}"; }
$ show_time
20180724003251
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.