2012-06-13 8 views
6

मैं जावा में करने के लिए एक तरह से पता है:कैसे YYYYDDMM के रूप में प्रारूप में जावास्क्रिप्ट में तीन महीने पहले की तारीख पाने के लिए कुशलतापूर्वक

Calendar c5 = Calendar.getInstance(); 
c5.add(Calendar.MONTH, -6); 
c5.getTime(); //It will give YYYYMMDD format three months ago. 

वहाँ जावास्क्रिप्ट में यह करने के लिए एक रास्ता है। मुझे पता है कि मैं दिनांक डी = नई तिथि() का उपयोग कर सकता हूं; इसे पार्स करें और प्रारूप प्राप्त करने के लिए कुछ कोड करें। लेकिन अब मैं पार्सिंग नहीं करना चाहता और तीन महीने पहले की तारीख प्राप्त करना चाहता हूं।

+1

निश्चित रूप से आप [date.js] (http://www.datejs.com/) जैसी लाइब्रेरी का उपयोग कर सकते हैं जो लगभग 25kb सामान है जिसका उपयोग आप जावास्क्रिप्ट की कुछ पंक्तियों को करने के लिए नहीं करेंगे। – epascarello

+1

@epascarello मैं वास्तव में कवर किए गए सभी किनारे मामलों के साथ अपना 5 लाइन जावास्क्रिप्ट कोड देखना चाहता हूं;) – javaMan

उत्तर

17
var dt = new Date('13 June 2013'); 
dt.setMonth(dt.getMonth()-1) 

तो फिर तुम this answer से कोड के इस टुकड़े का उपयोग कर सकते यह कन्वर्ट करने के लिए YYYYMMDD को

Date.prototype.yyyymmdd = function() { 
    var yyyy = this.getFullYear().toString(); 
    var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based 
    var dd = this.getDate().toString(); 
    return yyyy + (mm[1]?mm:"0"+mm[0]) + (dd[1]?dd:"0"+dd[0]); // padding 
    }; 

d = new Date(); 
d.yyyymmdd(); 

कुछ के सावधान रहने की। यदि आप 31 मार्च को हैं और एक महीने घटाते हैं, तो क्या होता है? आप 31 फरवरी नहीं प्राप्त कर सकते! अधिक जानकारी के लिए this उत्तर देखें।

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