2011-11-28 10 views
7

क्या कोई जानता है कि फ़ाइल एक्सेस दिनांक और समय की जांच कैसे करें? फ़ंक्शन संशोधित दिनांक और समय लौटाता है और मुझे ऐसा कुछ चाहिए जो एक्सेस दिनांक दिनांक की वर्तमान तिथि और समय की तुलना करता है।गो में फ़ाइल की अंतिम एक्सेस तिथि और समय कैसे प्राप्त करें?

+1

देखना केवल 'Go' भाषा केवल प्रासंगिक टैग का इस्तेमाल करें के लिए विशिष्ट हैं। उदाहरण के लिए [टैग: फ़ाइल] टैग केवल फाइलों के लिए विशिष्ट प्रश्नों के लिए होना चाहिए। –

उत्तर

11

आप os.Stat का उपयोग FileInfo संरचना प्राप्त करने के लिए कर सकते हैं जिसमें अंतिम पहुंच समय (साथ ही अंतिम संशोधित और अंतिम स्थिति परिवर्तन समय) भी शामिल है।

info, err := os.Stat("example.txt") 
if err != nil { 
    // TODO: handle errors (e.g. file not found) 
} 
// info.Atime_ns now contains the last access time 
// (in nanoseconds since the unix epoch) 

उसके बाद, आप time.Nanoseconds का उपयोग वर्तमान समय प्राप्त करने के लिए (भी यूनिक्स काल, 1 जनवरी, 1970 00:00:00 यूटीसी के बाद से नैनोसेकंड में) कर सकते हैं। नैनोसेकंड में अवधि के लिए, बस उन दो मूल्यों घटाना:

duration := time.Nanoseconds() - info.Atime_ns 
+3

यह गो 1.0 के बाद से सही नहीं है। आप ['FileInfo' की' Sys'] (https://golang.org/pkg/os/#FileInfo) फ़ील्ड को देखकर एक गैर-पोर्टेबल तरीके से एनीम प्राप्त कर सकते हैं (इसका प्रकार 'गोस' पर निर्भर करता है)। –

7

वैकल्पिक रूप से, स्टेट के बाद आप भी कर सकते हैं

statinfo.ModTime() 

इसके अलावा, आप उस पर स्वरूप() का उपयोग कर सकते हैं, आप इसे की आवश्यकता चाहिए जैसे एक वेबसर्वर के लिए

https://gist.github.com/alexisrobert/982674

आपके प्रश्नों
+2

प्रश्न * एक्सेस * समय के बारे में पूछता है, मॉड-टाइम नहीं। –

+0

मैंने आपके द्वारा दिए गए प्रश्न को गुमराह किया, इसलिए यह उत्तर मुझसे +1 हो गया। धन्यवाद! – Shadoninja

संबंधित मुद्दे