मेरे पास फ़ाइल अपलोड के लिए 'समय शेष' काउंटर है। शेष अवधि इतनी तरह गणना की जाती है और परिवर्तित मिलीसेकेंड में:मैं इस पूर्ण अवधि को कैसे पलट सकता हूं .js/javascript
var elapsedTime = e.timeStamp - timestarted;
var speed = e.loaded/elapsedTime;
var estimatedTotalTime = e.totalSize/speed;
var timeLeftInSeconds = (estimatedTotalTime - elapsedTime)/1000;
मैं तो एक सरणी जो मैं एक humanized स्ट्रिंग में बनाने का इरादा निर्माण। सरणी इस प्रकार है:
var time = {
years : Math.round(moment.duration(timeLeftInSeconds, 'milliseconds').years()),
months : Math.round(moment.duration(timeLeftInSeconds, 'milliseconds').months()),
days : Math.round(moment.duration(timeLeftInSeconds, 'milliseconds').days()),
hours : Math.round(moment.duration(timeLeftInSeconds, 'milliseconds').hours()),
minutes : Math.round(moment.duration(timeLeftInSeconds, 'milliseconds').minutes()),
seconds : Math.round(moment.duration(timeLeftInSeconds, 'milliseconds').seconds())
};
यह सब काम करता है पूरी तरह से और अगर मैं उत्पादन तो जैसे इस डेटा के एक स्ट्रिंग प्रतिनिधित्व:
console.log(time.years + ' years, ' + time.months + ' months, ' + time.days + ' days, ' + time.hours + ' hours, '+ time.minutes + ' minutes, ' + time.seconds + ' seconds');
मैं यह इतना की तरह शेष समय का एक अच्छा सरल धारा देता है:
0 years, 0 months, 0 days, 0 hours, 1 minutes, 7 seconds
मुझे अब यह करने की आवश्यकता है कि इस आउटपुट को मानवकृत करें ताकि स्ट्रिंग शेष समय पर निर्भर हो। जैसे
- 2 साल और 3 महीने शेष
- 1 घंटा, 32 मिनट और 41 सेकंड शेष
- 7 सेकंड शेष
- 3 मिनट 46 सेकंड के शेष
- 6 सेकंड शेष
आदि ... आदि ...
अब मुझे पता है कि मो ment.js में स्वचालित रूप से मानविकीकरण करने की क्षमता है जो एकल मानों के लिए ठीक काम करता है लेकिन इसमें कई संभावित मान (घंटे/मिनट/सेकंड इत्यादि) हो सकते हैं
मैं इस डेटा को पल.जेएस या मैन्युअल रूप से स्ट्रिंग का निर्माण?
अग्रिम धन्यवाद।
धन्यवाद Cerberus, मैं (सरणी के माध्यम से एक पाश में हालांकि) ऐसी ही कुछ कर रही है के बारे में सोचा, लेकिन अगर अवधि 2 साल के लिए बड़ी है, मैं केवल वर्षों को वापस करना चाहता हूं, फिर भी छोटी अवधि के लिए मैं कई (3 मिनट और 42 सेकंड) वापस करना चाहता हूं। मैं पल की उम्मीद कर रहा था। जेएस पहले से ही इसे संभाला है, लेकिन मुझे नहीं लगता। – gordyr
बिल्कुल सही! आपकी मदद के लिए बहुत धन्यवाद! – gordyr
@gordyr: कोई समस्या नहीं: डी – Cerbrus