sacar - Obteniendo fecha y hora actual en JavaScript
obtener hora del servidor javascript (25)
.getDay regresa el día de la semana. Necesitas .getDate en su lugar. .getMonth devuelve valores de 0 a 11. Deberá agregar 1 al resultado para obtener el número de mes "humano".
Tengo un script que imprime la fecha y hora actual en JavaScript, pero la DATE
es incorrecta. Aquí está el código:
var currentdate = new Date();
var datetime = "Last Sync: " + currentdate.getDay() + "/"+currentdate.getMonth()
+ "/" + currentdate.getFullYear() + " @ "
+ currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":" + currentdate.getSeconds();
Debería imprimir el 18/04/2012 15:07:33
y las impresiones el 3/3/2012 15:07:33
¿Alguna ayuda? Gracias
Al llamar a .getMonth()
, debe agregar +1 para mostrar el mes correcto. El conteo de Javascript siempre comienza en 0 (mira here para ver por qué), así que llamar a .getMonth()
en mayo devolverá 4
y no 5
.
Así que en su código podemos usar currentdate.getMonth()+1
para generar el valor correcto. Adicionalmente:
-
.getDate()
devuelve el día del mes <- este es el que desea -
.getDay()
es un método separado del objetoDate
que devolverá un entero que representa el día actual de la semana (0-6)0 == Sunday
etc.
por lo que su código debería verse así:
var currentdate = new Date();
var datetime = "Last Sync: " + currentdate.getDate() + "/"
+ (currentdate.getMonth()+1) + "/"
+ currentdate.getFullYear() + " @ "
+ currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":"
+ currentdate.getSeconds();
JavaScript instancias de fecha heredan de Date.prototype. Puede modificar el objeto prototipo del constructor para afectar las propiedades y los métodos heredados por las instancias de fecha de JavaScript
Puede utilizar el constructor de prototipo para el objeto Date
y crear un nuevo método para devolver la fecha y la hora de hoy. Todas las instancias del objeto Date
heredarán estos nuevos métodos o propiedades, por lo que serán especialmente útiles si necesita reutilizar esta funcionalidad.
// For todays date;
Date.prototype.today = function () {
return ((this.getDate() < 10)?"0":"") + this.getDate() +"/"+(((this.getMonth()+1) < 10)?"0":"") + (this.getMonth()+1) +"/"+ this.getFullYear();
}
// For the time now
Date.prototype.timeNow = function () {
return ((this.getHours() < 10)?"0":"") + this.getHours() +":"+ ((this.getMinutes() < 10)?"0":"") + this.getMinutes() +":"+ ((this.getSeconds() < 10)?"0":"") + this.getSeconds();
}
Luego puede simplemente recuperar la fecha y la hora haciendo lo siguiente:
var newDate = new Date();
var datetime = "LastSync: " + newDate.today() + " @ " + newDate.timeNow();
O llame al método en línea para que sea simplemente -
var datetime = "LastSync: " + new Date().today() + " @ " + new Date().timeNow();
Creo que llego muy tarde para compartir mi respuesta, pero creo que valdrá la pena.
function __getCurrentDateTime(format){
var dt=new Date(),x,date=[];
date[''d'']=dt.getDate();
date[''dd'']=dt.getDate()>10?dt.getDate():''0''+dt.getDate();
date[''m'']=dt.getMonth()+1;
date[''mm'']=(dt.getMonth()+1)>10?(dt.getMonth()+1):''0''+(dt.getMonth()+1);
date[''yyyy'']=dt.getFullYear();
date[''yy'']=dt.getFullYear().toString().slice(-2);
date[''h'']=(dt.getHours()>12?dt.getHours()-12:dt.getHours());
date[''hh'']=dt.getHours();
date[''mi'']=dt.getMinutes();
date[''mimi'']=dt.getMinutes()<10?(''0''+dt.getMinutes()):dt.getMinutes();
date[''s'']=dt.getSeconds();
date[''ss'']=dt.getSeconds()<10?(''0''+dt.getSeconds()):dt.getSeconds();
date[''sss'']=dt.getMilliseconds();
date[''ampm'']=(dt.getHours()>=12?''PM'':''AM'');
x=format.toLowerCase();
x=x.indexOf(''dd'')!=-1?x.replace(/(dd)/i,date[''dd'']):x.replace(/(d)/i,date[''d'']);
x=x.indexOf(''mm'')!=-1?x.replace(/(mm)/i,date[''mm'']):x.replace(/(m)/i,date[''m'']);
x=x.indexOf(''yyyy'')!=-1?x.replace(/(yyyy)/i,date[''yyyy'']):x.replace(/(yy)/i,date[''yy'']);
x=x.indexOf(''hh'')!=-1?x.replace(/(hh)/i,date[''hh'']):x.replace(/(h)/i,date[''h'']);
x=x.indexOf(''mimi'')!=-1?x.replace(/(mimi)/i,date[''mimi'']):x.replace(/(mi)/i,date[''mi'']);
if(x.indexOf(''sss'')!=-1){ x=x.replace(/(sss)/i,date[''sss'']); }
x=x.indexOf(''ss'')!=-1?x.replace(/(ss)/i,date[''ss'']):x.replace(/(s)/i,date[''s'']);
if(x.indexOf(''ampm'')!=-1){ x=x.replace(/(ampm)/i,date[''ampm'']); }
return x;
}
console.log(__getCurrentDateTime()); //returns in dd-mm-yyyy HH:MM:SS
console.log(__getCurrentDateTime(''dd-mm-yyyy'')); //return in 05-12-2016
console.log(__getCurrentDateTime(''dd/mm*yyyy'')); //return in 05/12*2016
console.log(__getCurrentDateTime(''hh:mimi:ss'')); //return in 13:05:30
console.log (__ getCurrentDateTime (''h: mi: ss ampm'')); // regreso en 1: 5: 30 PM
Es simple y excelente.
$(document).ready(function () {
var fpsOut = document.getElementById(''myTime'');
setInterval(function () {
var d = new Date();
fpsOut.innerHTML = d;
}, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myTime"></div>
Por favor encuentre el siguiente violinista para el ejemplo.
Esta pregunta es bastante antigua y las respuestas también. En lugar de esas funciones monstruosas, ahora podemos usar moment.js para obtener la fecha actual, lo que en realidad lo hace muy fácil. Todo lo que hay que hacer es incluir moment.js en nuestro proyecto y obtener una fecha bien formada, por ejemplo, mediante:
moment().format("dddd, MMMM Do YYYY, h:mm:ss a");
Creo que eso hace que sea más fácil manejar las fechas en JavaScript.
Esto debería funcionar:
function dateToString(date) {
var month = date.getMonth() + 1;
var day = date.getDate();
var dateOfString = (("" + day).length < 2 ? "0" : "") + day + "/";
dateOfString += (("" + month).length < 2 ? "0" : "") + month + "/";
dateOfString += date.getFullYear();
return dateOfString;
}
var currentdate = new Date();
var datetime = "Last Sync: ";
datetime += dateToString(currentdate );
datetime += + currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":"
+ currentdate.getSeconds();
He encontrado la forma más sencilla de obtener la fecha y la hora actuales en JavaScript desde aquí: cómo obtener la fecha y la hora actuales utilizando JavaScript
var today = new Date();
var date = today.getFullYear()+''-''+(today.getMonth()+1)+''-''+today.getDate();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var CurrentDateTime = date+'' ''+time;
JS básico (bueno para aprender): usamos la función Fecha () y hacemos todo lo que necesitamos para mostrar la fecha y el día en nuestro formato personalizado.
var myDate = new Date();
let daysList = [''Sunday'', ''Monday'', ''Tuesday'', ''Wednesday'', ''Thursday'', ''Friday'', ''Saturday''];
let monthsList = [''Jan'', ''Feb'', ''Mar'', ''Apr'', ''May'', ''Jun'', ''Jul'', ''Aug'', ''Sep'', ''Aug'', ''Oct'', ''Nov'', ''Dec''];
let date = myDate.getDate();
let month = monthsList[myDate.getMonth()];
let year = myDate.getFullYear();
let day = daysList[myDate.getDay()];
let today = `${date} ${month} ${year}, ${day}`;
let amOrPm;
let twelveHours = function (){
if(myDate.getHours() > 12)
{
amOrPm = ''PM'';
let twentyFourHourTime = myDate.getHours();
let conversion = twentyFourHourTime - 12;
return `${conversion}`
}else {
amOrPm = ''AM'';
return `${myDate.getHours()}`}
};
let hours = twelveHours();
let minutes = myDate.getMinutes();
let currentTime = `${hours}:${minutes} ${amOrPm}`;
console.log(today + '' '' + currentTime);
Nodo JS (rápido y fácil): instale npm pagckage usando ( npm fecha y hora de instalación ), luego ejecute lo siguiente.
let nodeDate = require(''date-and-time'');
let now = nodeDate.format(new Date(), ''DD-MMMM-YYYY, hh:mm:ss a'');
console.log(now);
Mi respuesta bien intencionada es usar este pedacito de JS: https://github.com/rhroyston/clock-js
clock.now --> 1462248501241
clock.time --> 11:08 PM
clock.weekday --> monday
clock.day --> 2
clock.month --> may
clock.year --> 2016
clock.since(1462245888784) --> 44 minutes
clock.until(1462255888784) --> 2 hours
clock.what.time(1462245888784) --> 10:24 PM
clock.what.weekday(1461968554458) --> friday
clock.what.day(''14622458887 84'') --> 2
clock.what.month(1461968554458) --> april
clock.what.year(''1461968554458'') --> 2016
clock.what.time() --> 11:11 PM
clock.what.weekday(''14619685abcd'') --> clock.js error : expected unix timestamp as argument
clock.unit.seconds --> 1000
clock.unit.minutes --> 60000
clock.unit.hours --> 3600000
clock.unit.days --> 86400000
clock.unit.weeks --> 604800000
clock.unit.months --> 2628002880
clock.unit.years --> 31536000000
Mira esto puede ser que funcione para ti
<script language="JavaScript">
var dayarray=new Array("Sunday","Monday",
"Tuesday","Wednesday","Thursday","Friday","Saturday")
var montharray=new Array("January","February","March",
"April","May","June","July","August","September",
"October","November","December")
function getthedate(){
var mydate=new Date()
var year=mydate.getYear()
if (year < 1000)
year+=1900
var day=mydate.getDay()
var month=mydate.getMonth()
var daym=mydate.getDate()
if (daym<10)
daym="0"+daym
var hours=mydate.getHours()
var minutes=mydate.getMinutes()
var seconds=mydate.getSeconds()
var dn="AM"
if (hours>=12)
dn="PM"
if (hours>12){
hours=hours-12
}
if (hours==0)
hours=12
if (minutes<=9)
minutes="0"+minutes
if (seconds<=9)
seconds="0"+seconds
//change font size here
var cdate="<small><font color=''000000'' face=''Arial''><b>"+dayarray[day]+",
"+montharray[month]+" "+daym+", "+year+" "+hours+":"
+minutes+":"+seconds+" "+dn
+"</b></font></small>"
if (document.all)
document.all.clock.innerHTML=cdate
else if (document.getElementById)
document.getElementById("clock").innerHTML=cdate
else
document.write(cdate)
}
if (!document.all&&!document.getElementById)
getthedate()
function goforit(){
if (document.all||document.getElementById)
setInterval("getthedate()",1000)
}
</script>
enter code here
<span id="clock"></span>
Necesitaba descifrar esto para obtener una lista de efectos posteriores. Esto es lo que se me ocurrió después de tomar elementos de varias fuentes diferentes: el formato es MM / DD / YYYY HH: MM AM / PM
D = new Date(Date(00));
M = D.getMonth()+1;
H = D.getHours();
Mi = D.getMinutes();
N = "AM"
if (H >= 12)
N = "PM"
if (H > 12)
{
H = H-12
}
amtOfZeroes = 2;
isNeg = false;
if (M < 0)
{
M = Math.abs(M);
isNeg = true;
}
Mo = Math.round(M) + "";
while(Mo.length < amtOfZeroes)
{
Mo = "0" + Mo;
}
if (isNeg)
Mo = "-" + Mo;
if (H < 0)
{
H = Math.abs(H);
isNeg = true;
}
Ho = Math.round(H) + "";
while(Ho.length < amtOfZeroes)
{
Ho = "0" + Ho;
}
if (isNeg)
Ho = "-" + Ho;
if (Mi < 0)
{
Mi = Math.abs(Mi);
isNeg = true;
}
Min = Math.round(Mi) + "";
while(Min.length < amtOfZeroes)
{
Min = "0" + Min;
}
if (isNeg)
Min = "-" + Min;
T = Ho + ":" + (Min)
Mo + "/" + D.getDate() + "/" + D.getFullYear() + " " + T + " " + N
Necesitas usar getDate () para obtener la parte de la fecha. La función getDay () devuelve el número del día (domingo = 0, lunes = 1 ...) y el getMonth () devuelve un índice basado en 0, por lo que necesita incrementarlo en 1
var currentdate = new Date();
var datetime = "Last Sync: " + currentdate.getDate() + "/"+ (parseInt(currentdate.getMonth()) + 1)
+ "/" + currentdate.getFullYear() + " @ "
+ currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":" + currentdate.getSeconds();
Para obtener hora y fecha debes usar
new Date().toLocaleString();
>> "09/08/2014, 2:35:56 AM"
Para obtener solo la fecha debe usar
new Date().toLocaleDateString();
>> "09/08/2014"
Para obtener solo el tiempo que debe usar
new Date().toLocaleTimeString();
>> "2:35:56 AM"
O si solo desea la hora en el formato hh:mm
sin AM / PM para inglés de EE. UU.
new Date().toLocaleTimeString(''en-US'', { hour12: false,
hour: "numeric",
minute: "numeric"});
>> "02:35"
o para el inglés británico
new Date().toLocaleTimeString(''en-GB'', { hour: "numeric",
minute: "numeric"});
>> "02:35"
Lea más here .
Si quieres una verdadera fecha de estilo mysql usa este
2013/10/04 08:51:32
function getDateTime() {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth()+1;
var day = now.getDate();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
if(month.toString().length == 1) {
month = ''0''+month;
}
if(day.toString().length == 1) {
day = ''0''+day;
}
if(hour.toString().length == 1) {
hour = ''0''+hour;
}
if(minute.toString().length == 1) {
minute = ''0''+minute;
}
if(second.toString().length == 1) {
second = ''0''+second;
}
var dateTime = year+''/''+month+''/''+day+'' ''+hour+'':''+minute+'':''+second;
return dateTime;
}
Solo usa:
var d = new Date();
document.write(d.toLocaleString());
document.write("<br>");
obtener fecha y hora actual
var now = new Date();
var datetime = now.getFullYear()+''/''+(now.getMonth()+1)+''/''+now.getDate();
datetime += '' ''+now.getHours()+'':''+now.getMinutes()+'':''+now.getSeconds();
getDay()
recibe el día de la semana. 3
es miércoles. Quieres getDate()
, que devolverá 18
.
Además, getMonth()
comienza en 0
, debe agregar 1
para obtener 4
(abril).
Este pequeño código es fácil y funciona en todas partes.
<p id="dnt"></p>
<script>
document.getElementById("dnt").innerHTML = Date();
</script>
hay espacio para diseñar
<p id="DateTimeBox">Click The Button To Show Date And Time</p>
<button onclick="ShowDate();"> Show Date </button>
<script>
function ShowDate() {
document.getElementById(''DateTimeBox'').innerHTML = Date();
}
</script>
dt= new Date();
alert(dt.toISOString().substring(8,10) + "/" +
dt.toISOString().substring(5,7)+ "/" +
dt.toISOString().substring(0,4) + " " +
dt.toTimeString().substring(0,8))
function UniqueDateTime(format='''',language=''en-US''){
//returns a meaningful unique number based on current time, and milliseconds, making it virtually unique
//e.g : 20170428-115833-547
//allows personal formatting like more usual :YYYYMMDDHHmmSS, or YYYYMMDD_HH:mm:SS
var dt = new Date();
var modele="YYYYMMDD-HHmmSS-mss";
if (format!==''''){
modele=format;
}
modele=modele.replace("YYYY",dt.getFullYear());
modele=modele.replace("MM",(dt.getMonth()+1).toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
modele=modele.replace("DD",dt.getDate().toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
modele=modele.replace("HH",dt.getHours().toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
modele=modele.replace("mm",dt.getMinutes().toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
modele=modele.replace("SS",dt.getSeconds().toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
modele=modele.replace("mss",dt.getMilliseconds().toLocaleString(language, {minimumIntegerDigits: 3, useGrouping:false}));
return modele;
}
function display_c(){
var refresh = 1000; // Refresh rate in milli seconds
mytime = setTimeout(''display_ct()'', refresh)
}
function display_ct() {
var strcount
var currentdate = new Date();
document.getElementById(''ct'').innerHTML = currentdate.toDateString() + " " + currentdate.getHours() + ":" + currentdate.getMinutes() + ":" + currentdate.getSeconds();
tt = display_c();
}
id = ''ct'' // Replace in Your id
onload = "display_ct();" // Type inside a Body Tag
function getTimeStamp() {
var now = new Date();
return ((now.getMonth() + 1) + ''/'' + (now.getDate()) + ''/'' + now.getFullYear() + " " + now.getHours() + '':''
+ ((now.getMinutes() < 10) ? ("0" + now.getMinutes()) : (now.getMinutes())) + '':'' + ((now.getSeconds() < 10) ? ("0" + now
.getSeconds()) : (now.getSeconds())));
}
var currentdate = new Date();
var datetime = "Last Sync: " + currentdate.getDate() + "/"+(currentdate.getMonth()+1)
+ "/" + currentdate.getFullYear() + " @ "
+ currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":" + currentdate.getSeconds();
Cambie el método .getDay()
por .GetDate()
y agregue uno al mes, porque cuenta los meses desde 0.
var datetime = new Date().toLocaleString().slice(0,9) +" "+new Date(new Date()).toString().split('' '')[4];
console.log(datetime);