आप लिनक्स हार्डवेयर (hwclock) घड़ी के समय को 24-घंटे के प्रारूप में कैसे बदलते हैं?


0

वर्तमान में, मेरी हार्डवेयर घड़ी इस तरह दिनांक / समय (hwclock --show) लौटाती है:

Sat 28 Jul 2018 08:47:47 PM BST .659124 seconds

और तारीख रिटर्न:

Sat Jul 28 21:23:13 BST 2018

मैं हार्डवेयर घड़ी के समय को 24-घंटे के प्रारूप में बदलना चाहता हूं और हार्डवेयर घड़ी की तिथि / समय प्रारूप से मिलान करने के लिए तारीख का प्रारूप।

मैंने उच्च और निम्न खोज की है, लेकिन लिनक्स सिस्टम (जैसे, लघु, मध्यम और लंबी तारीख, क्षेत्रीय प्रारूप जैसे डीडी-एमएम-वाईवाईवाईवाई या डीडी / एमएम / वाईवाई) पर विशेष रूप से दिनांक और समय के प्रबंधन के बारे में पूरी तरह से प्रलेखन नहीं मिला है। एक कमांड लाइन वातावरण।

मेरे पास हॉकॉक और तारीख है। वे मदद नहीं करते। मुझे यह भी पता है कि इसी तरह के सवालों का एक सेट है जो पहले पूछा गया है। मैंने उनकी ओर देखा है और वे भी मदद नहीं करते हैं।

क्या कोई मेरे ऊपर उल्लिखित मेरे विशिष्ट प्रश्न के संबंध में मदद कर सकता है या मुझे एक कमांड लाइन के वातावरण में विभिन्न क्षेत्रों के लिए कई तिथियों / समय परिदृश्यों से निपटने के बारे में चर्चा के साथ कुछ गहन प्रलेखन की ओर इशारा कर सकता है? अग्रिम में धन्यवाद।


1
लिनक्स (डिस्ट्रो) और संस्करण क्या आप उपयोग कर रहे हैं?
एलेक्स

1
क्या आप वास्तव में स्टेटस रजिस्टर बी के बिट 2 को रीसेट करना चाहते हैं, या क्या आप केवल 24 वें प्रारूप में समय प्रदर्शित करना चाहते हैं ?
इग्नासियो वाज़केज़-अब्राम्स

2
इसके अलावा, नकल नहीं कर सकते। मुझे आईएसओ 8601 फॉर्मेट मिलता है जैसे मैन पेज कहता है।
इग्नासियो वाज़क्वेज़-अब्राम्स

आप किस लोकेल और टाइमज़ोन का उपयोग कर रहे हैं?
जैसन

यह आपको क्या मिलता है LC_TIME=C hwclock --show
जस

जवाबों:


2

आप अपने लिए dateकाम कर सकते हैं : -dविकल्प आपको "ज्यादातर मुक्त प्रारूप मानव पठनीय तारीख स्ट्रिंग" (से man date) में तारीख निर्दिष्ट करने की अनुमति देता है ।

दुर्भाग्य से, प्रारूप hwclockआउटपुट को स्वीकार करने के लिए पर्याप्त रूप से मुक्त नहीं है , लेकिन यह ठीक काम करता है यदि आप अंतिम फ़ील्ड को दूसरे के अंशों को निर्दिष्ट करते हुए हटाते हैं:

date -d "$(hwclock|sed 's/  \..*$//g')"

मैंने परीक्षण किया है, लेकिन प्रारूप पर हिट करने में कामयाब नहीं है जब एक सेकंड के शून्य अंश होते हैं, तो मुझे नहीं पता कि क्या यह उसी प्रारूप को दिखाएगा, जैसे Sat 28 Jul 2018 08:47:47 PM BST .000000 seconds। यदि कोई दशमलव बिंदु नहीं है, तो एक और sedप्रतिस्थापन की आवश्यकता होगी।

बशर्ते कि समय क्षेत्र के बाद भी एक डबल स्थान है, निम्नलिखित काम करेगा:

date -d "$(hwclock|sed 's/  .*$//g')"

आप इसे एक शेल स्क्रिप्ट या फंक्शन में परिभाषित कर सकते हैं ~/.bashrcजिसे कुछ इस तरह से hwclockdf(जैसे कि dateप्रारूप में) कहा जाता है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.