En PHP, puede convertir fácilmente una descripción de fecha y hora en inglés en una fecha apropiada con strtotime()
.equivalente de Javascript del strtotime de php()?
¿Hay algo similar en Javascript?
En PHP, puede convertir fácilmente una descripción de fecha y hora en inglés en una fecha apropiada con strtotime()
.equivalente de Javascript del strtotime de php()?
¿Hay algo similar en Javascript?
Encontré this article y probé el tutorial. Básicamente, se puede utilizar el constructor fecha para analizar una fecha, a continuación, escribir obtener los segundos desde el getTime()
método
var d=new Date("October 13, 1975 11:13:00");
document.write(d.getTime() + " milliseconds since 1970/01/01");
hace este trabajo?
Parece que yo no funciona, la fecha está formateada en formato dmY. –
-1. Esto solo cubre las fechas formateadas RFC 822 o ISO 8601, pero 'strtotime()' admite muchos otros formatos. –
Esto puede satisfacer el caso de uso del OP, pero es una respuesta inválida técnicamente incorrecta a la pregunta. Ver (y, por favor, voto favorable) la respuesta de Westy92. –
Sí, lo es. Y es compatible con todos los principales navegador:
var ts = Date.parse("date string");
La única diferencia es que esta función devuelve milisegundos en lugar de segundos, por lo que necesita para dividir el resultado por 1000.
Esta debería ser la respuesta aceptada. +1 – Doorknob
No; esto funciona muy diferente de php strtotime, ninguno de los ejemplos de la documentación de php funciona, ni uno solo 'strtotime (" now "); strtotime ("10 de septiembre de 2000"); strtotime ("+ 1 día"); strtotime ("+ 1 semana"); strtotime ("+ 1 semana 2 días 4 horas 2 segundos"); strtotime ("el próximo jueves"); strtotime ("el último lunes"); ' –
Gracias @Arnaldo. Esto es trabajo para mí. Su respuesta es más aceptable que "Djechelon" – Adi
Salida this implementación de strtotime de PHP() en JavaScript!
Descubrí que funciona de manera idéntica a PHP para todo lo que le arrojé.
Actualización: esta función de acuerdo con la versión 1.0.2 no puede manejar este caso:
'2007:07:20 20:52:45'
(Nota del separador:
por año y mes)
Este es ahora disponible como un módulo npm
! Simplemente npm install locutus
y luego en su fuente:
var strtotime = require('locutus/php/datetime/strtotime');
Normalmente, no me gustan las respuestas que son solo enlaces a bibliotecas, pero en este caso dado que JavaScript no maneja casi casos locos como strtotime, esta es una respuesta fantástica. ¡Gracias! – user819644
I celoso del strtotime() en php, pero lo hago mío en javascript usando momento. No es tan dulce como el de php, pero también lo es el truco.
// first day of the month
var firstDayThisMonth = moment(firstDayThisMonth).startOf('month').toDate();
ir y venir con el subtract()
y add()
con el endOf()
y startOf()
:
// last day of previous month
var yesterMonthLastDay = moment(yesterMonthLastDay).subtract(1,'months').endOf('month').toDate();
Compatibilidad con navegadores para analizar cadenas is inconsistent. Debido a que no hay especificaciones sobre qué formatos deben admitirse, lo que funciona en algunos navegadores no funcionará en otros navegadores.
Trate Moment.js - proporciona la funcionalidad multi-navegador para 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
Esto no responde completamente la pregunta (y tiene un puntaje negativo). ¿Hay alguna manera de revocar la recompensa? – Westy92
Hay pocos módulos que proporciona un comportamiento similar, pero no exactamente como strtotime de PHP. Entre las pocas alternativas que encontré date-util se obtienen los mejores resultados.
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>
* Advertencia de desuso: el valor proporcionado no está en un formato ISO reconocido. La construcción del momento vuelve a js 'Date()' * - tan ... lo mismo que 'new Date (strdate)' realmente ... – deceze
Para el análisis del formato dd.mm.aaaa, comprobar http://stackoverflow.com/questions/1576753/parse-datetime-string-in-javascript –