2010-10-29 9 views
64

PHP'de, bir İngilizce metin datetime açıklamasını strtotime() ile uygun bir tarihe kolayca dönüştürebilirsiniz.php's strtotime() Javascript eşdeğeri?

Javascript'te benzer bir şey var mı?

+0

, http://stackoverflow.com/questions/1576753/parse-datetime-string-in-javascript kontrol –

cevap

41

this article numaralı telefonu buldum ve eğiticiyi denedim. Temel olarak, getTime() yönteme

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

bu çalışıyor mu itibaren saniye olsun yazma, sonra bir tarih ayrıştırmak için tarih yapıcısı kullanabilir?

+0

O I görünüyor çalışmaz, tarih dmY formatında biçimlendirilir. –

+22

-1. Bu sadece RFC 822 veya ISO 8601 biçimlendirilmiş tarihleri ​​kapsar, ancak 'strtotime()' diğer birçok formatı destekler. –

+1

Bu, OP'nin kullanım durumunu karşılamak için olabilir, ancak bu soruya teknik olarak yanlış ve geçersiz bir yanıttır. Bakınız Westy92'nin cevabı. –

53

Evet, öyle. Ve tüm büyük tarayıcıda desteklenir:

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

tek fark bu fonksiyon yerine saniye milisaniye döndürür, böylece dışarı 1000.

Check what valid formats can JavaScript parse.

+1

Bu kabul edilen cevap olmalı. +1 – Doorknob

+18

Nope; Bu php strtotime'dan çok farklı çalışır, php dokümantasyon çalışmasının örneklerinden hiçbiri, tek bir “strtotime” (“şimdi”) değil; strtotime ("10 Eylül 2000"); strtotime ("+ 1 gün"); strtotime ("+ 1 hafta"); strtotime ("+ 1 hafta 2 gün 4 saat 2 saniye"); strtotime ("önümüzdeki Perşembe"); strtotime ("geçen Pazartesi"); –

+0

Teşekkürler @Arnaldo. Bu benim için çalışıyor. Cevabınız "Djechelon" dan daha kabul edilebilir. – Adi

21

Kontrolü tarafından sonuç bölmek gerekir JavaScript'de PHP'nin strtotime() this uygulanması!

Bunu attığım her şey için PHP ile aynı şekilde çalıştığını buldum.

Güncelleme:

budur: '2007:07:20 20:52:45'

Güncelleme 2018 (yıl ve ay olarak : ayırıcısını Not): sürümü 1.0.2 uyarınca bu fonksiyon bu durumda işleyemez şimdi bir npm modülü olarak mevcut! Basitçe npm install locutus ve sonra kaynağında:

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

+1

Normalde kütüphaneler için sadece bağlantılar olan cevapları beğenmiyorum, ancak bu durumda JavaScript neredeyse çılgın olayları strtotime olarak işlemediğinden bu harika bir cevap. Teşekkür ederiz! – user819644

4

ben php strtotime() kıskançlık, ama o anı kullanarak javascript Benimkini. Php kadar tatlı değil ama hile de düzgünce.

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

ileri geri endOf() ve startOf() ile subtract() ve add() kullanarak git dizeleri is inconsistent ayrıştırmak için

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

tarayıcı desteği. Hangi biçimlerin desteklenmesi gerektiğine dair bir özellik olmadığından, bazı tarayıcılarda çalışanlar diğer tarayıcılarda çalışmaz.

Moment.js deneyin - parsing dates için çapraz tarayıcı işlevsellik sağlar: Benzer davranış sağlar birkaç modül vardır

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

Bu, soruya tam olarak cevap vermiyor (ve olumsuz bir skora sahip). Ödülünü iptal etmenin bir yolu var mı? – Westy92

0

, ancak tam olarak PHP'nin strtotime gibi. date-util'u bulduğum birkaç alternatif arasında en iyi sonuçları veriyor.

-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>
gg.aa.yyyy formatında gelen ayrıştırma için

+0

* Kullanımdan kaldırılma uyarısı: verilen değer tanınan bir ISO formatında değil. anı inşası js 'Tarihine geri dönüyor()' * - sooo… 'Yeni Tarih (strdate) ile aynı' gerçekten… – deceze