2010-10-29 20 views
64

PHP में, आप आसानी से एक अंग्रेजी पाठ डेटाटाइम विवरण को strtotime() के साथ उचित तिथि में परिवर्तित कर सकते हैं।जावास्क्रिप्ट PHP के strtotime() के बराबर है?

क्या जावास्क्रिप्ट में कुछ भी समान है?

+0

प्रारूप dd.mm.yyyy से पार्स करने के लिए, http://stackoverflow.com/questions/1576753/parse-datetime-string-in-javascript जाँच –

उत्तर

41

मुझे this article मिला और ट्यूटोरियल की कोशिश की। मूल रूप से, आप एक तिथि पार्स करने के लिए, तारीख निर्माता का उपयोग कर सकते तो लिखने getTime() विधि

var d=new Date("October 13, 1975 11:13:00"); 
document.write(d.getTime() + " milliseconds since 1970/01/01"); 

इस काम करता है से सेकंड मिल सकता है?

+0

ऐसा लगता है कि मैं यह काम नहीं करता है दिनांक डीएमवाई प्रारूप में स्वरूपित है। –

+22

-1। इसमें केवल आरएफसी 822 या आईएसओ 8601 स्वरूपित तिथियां शामिल हैं, लेकिन 'स्ट्रेटोटाइम()' कई अन्य प्रारूपों का समर्थन करती है। –

+1

यह ओपी के उपयोग के मामले को पूरा करने के लिए हो सकता है, लेकिन यह सवाल का तकनीकी रूप से गलत, अमान्य जवाब है। Westy92 के जवाब देखें (और कृपया ऊपर उठाएं)। –

53

हां, यह है। और यह सभी प्रमुख ब्राउज़र में समर्थित है:

var ts = Date.parse("date string"); 

फर्क सिर्फ इतना है इस फ़ंक्शन कि बजाय सेकंड के मिलीसेकेंड है, तो आप बाहर से 1000.

Check what valid formats can JavaScript parse.

+1

यह स्वीकार्य उत्तर होना चाहिए। +1 – Doorknob

+18

नहीं; यह php strtotime से बहुत अलग काम करता है, php प्रलेखन कार्य के उदाहरणों में से कोई भी नहीं, एक एकल 'स्ट्रेटोटाइम ("अब") नहीं; स्ट्रेटोटाइम ("10 सितंबर 2000"); स्ट्रेटोटाइम ("+ 1 दिन"); स्ट्रेटोटाइम ("+ 1 सप्ताह"); स्ट्रेटोटाइम ("+ 1 सप्ताह 2 दिन 4 घंटे 2 सेकंड"); स्ट्रेटोटाइम ("अगले गुरुवार"); स्ट्रेटोटाइम ("अंतिम सोमवार"); ' –

+0

धन्यवाद @ अरनाल्डो। यह मेरे लिए काम कर रहा है। आपका उत्तर "Djechelon's" – Adi

21

चेक परिणाम विभाजित करने की आवश्यकता जावास्क्रिप्ट में PHP के strtotime() के this कार्यान्वयन!

मुझे पता चला कि यह उस सब कुछ के लिए PHP के समान रूप से काम करता है जिसे मैंने फेंक दिया था।

अद्यतन: '2007:07:20 20:52:45' (नोट वर्ष और माह के लिए : विभाजक)

अद्यतन 2018::

यह वह जगह है प्रति संस्करण 1.0.2 के रूप में इस समारोह इस मामले को संभाल नहीं कर सकते हैं अब npm मॉड्यूल के रूप में उपलब्ध है! सीधे शब्दों में npm install locutus और फिर अपने स्रोत में:

var strtotime = require('locutus/php/datetime/strtotime'); 
+1

से अधिक स्वीकार्य नहीं है, मुझे आमतौर पर ऐसे उत्तर पसंद नहीं हैं जो पुस्तकालयों के लिंक हैं, लेकिन इस मामले में जावास्क्रिप्ट लगभग पागल मामलों को स्ट्रेटोटाइम के रूप में संभाल नहीं करता है, इसलिए यह एक शानदार जवाब है। धन्यवाद! – user819644

4

मैं php में strtotime() जलन हो रही है, लेकिन मैं इस समय का उपयोग कर जावास्क्रिप्ट में मेरा है। Php से उतना प्यारा नहीं है, लेकिन चाल भी अच्छी तरह से करता है।

// first day of the month 
var firstDayThisMonth = moment(firstDayThisMonth).startOf('month').toDate(); 

आगे पीछे endOf() और startOf() साथ subtract() और add() का उपयोग कर जाएँ: तार is inconsistent पार्स करने के लिए

// last day of previous month 
var yesterMonthLastDay = moment(yesterMonthLastDay).subtract(1,'months').endOf('month').toDate(); 
-2

ब्राउज़र समर्थन। चूंकि प्रारूपों का समर्थन नहीं किया जाना चाहिए, इस पर कोई विनिर्देश नहीं है, कुछ ब्राउज़रों में क्या काम करता है अन्य ब्राउज़रों में काम नहीं करेगा।

Moment.js प्रयास करें - यह parsing dates के लिए क्रॉस-ब्राउज़र कार्यक्षमता प्रदान करता है:

var timestamp = moment("2013-02-08 09:30:26.123"); 
console.log(timestamp.milliseconds()); // return timestamp in milliseconds 
console.log(timestamp.second()); // return timestamp in seconds 
+0

यह पूरी तरह से प्रश्न का उत्तर नहीं देता है (और इसका नकारात्मक स्कोर है)। क्या बक्षीस को रद्द करने का कोई तरीका है? – Westy92

0

कुछ मॉड्यूल है कि इसी तरह व्यवहार कर रहे हैं प्रदान करता है, लेकिन वास्तव में नहीं PHP के strtotime की तरह। मुझे मिली कुछ विकल्पों में से date-util सर्वोत्तम परिणाम प्राप्त करता है।

-1

var strdate = new Date('Tue Feb 07 2017 12:51:48 GMT+0200 (Türkiye Standart Saati)'); 
 
var date = moment(strdate).format('DD.MM.YYYY'); 
 
$("#result").text(date); //07.02.2017
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.js"></script> 
 

 
<div id="result"></div>

+0

* बहिष्करण चेतावनी: प्रदान किया गया मान एक मान्यता प्राप्त आईएसओ प्रारूप में नहीं है। पल निर्माण जेएस 'दिनांक()' * - sooo ... वापस 'नई तारीख (strdate)' के रूप में वापस आता है ... – deceze

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