Objeto de tempo JavaScript Data()

Este artigo explica brevemente Date() e timestamp, que podem ser usados ​​para criar a hora, obter a hora local do computador e calcular a diferença horária, e anexa casos para aprofundar o aprendizado e a aplicação.

Índice

Data()

hora de criação

 Obtenha ano, mês e dia

 Obtenha horas, minutos e segundos

 Obtenha o dia da semana

 relógio eletrônico

Carimbo de data e hora

criar criar carimbo

 obter diferença horária

 Caso de venda relâmpago de contagem regressiva


Data()

hora de criação

Use o construtor Date().

var d = new Date()

console.log(d);//时间对象.html:55 Tue Oct 25 2022 09:37:38 GMT+0800 (中国标准时间)

Resultado de saída:

 Obtenha ano, mês e dia

Nota: O mês obtido é retornado como subscrito, portanto é necessário adicionar um. Mês é um array que armazena de 1 a 12 meses. Quando o usamos, ele retorna um subscrito, então +1 é necessário para exibir o mês normal.

//年
var y=d.getFullYear()
console.log(y);//2022
//月
// [1,2,3,4,5,6,7,8,9,10]
var m=d.getMonth()+1
console.log(m);//10
//日
var r=d.getDate()
console.log(r);//25

Resultado de saída:

 Obtenha horas, minutos e segundos

//时
var h = d.getHours()
console.log(h);//
//分
var f = d.getMinutes()
console.log(f);//
//秒
var s = d.getSeconds()
console.log(s);//

Resultado de saída:

 Obtenha o dia da semana

Nota: O início da semana é o dia da semana . Criamos um array, e o conteúdo do array são os dias da semana organizados em ordem. Em seguida, siga o código abaixo para obter o dia da semana. Obter o dia da semana retorna o mesmo subscrito.

//星期返回的是下标
var x=d.getDay()
var week=['星期日','星期一','星期二','星期三','星期四','星期五','星期六']
console.log(week[x]);

Resultado de saída:

 relógio eletrônico

Assim, combinado com o código acima, podemos gerar a hora atual, ano, mês, dia, hora, minuto, segundo e dia da semana .

 function timer () {
            var d = new Date()
            var y = d.getFullYear()
            var m = d.getMonth() + 1
            var r = d.getDate()
            var h = d.getHours()
            var f = d.getMinutes()
            var s = d.getSeconds()
            var x = d.getDay()
            var week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
            var str = '现在是' + y + '年' + m + '月' + r + '日' + h + '时' + f + '分' + s + '秒' + week[x]
            return str
        }
        console.log(timer());

Resultado de saída:

Carimbo de data e hora

O número  de milissegundos desde as 8h do dia 1º de janeiro de 1970 .

criar criar carimbo

Existem dois métodos, um é usar Date.now() diretamente, o outro é criar um objeto de tempo var d=new Date() e, em seguida, d.getTime().

Nota: Date.now() não é compatível com navegadores inferiores ao IE8.

var d=new Date()
console.log(d.getTime());
console.log(Date.now());//ie8以下的浏览器不兼容

Resultado de saída:

 obter diferença horária

De acordo com as características do timestamp, podemos usar new Date('Year/Month/Day Hour:Minute:Second') ou new Date(Year, Month-1, Day, Hour, Minute, Second) para obter a data de janeiro 1º de janeiro de 1970 O número de milissegundos desde as 8h até um determinado momento do dia.

Desta forma, podemos obter os carimbos de data e hora de vários pontos no tempo. O número de milissegundos obtido pela subtração desses carimbos de data e hora é a diferença de tempo entre os dois tempos.

O código a seguir possui dois formatos. Entre aspas, escreva a hora normal, e o formato separado por vírgulas requer o mês -1.

var d = new Date('2023/11/11 8:0:0')//正常传入,2023年11月11日8点
var c = new Date(2023, 10, 11, 8, 0, 0)//也是2023年11月11日8点,但月份要-1
console.log(d.getTime());
console.log(c.getTime());

Resultado de saída:

 Caso de venda relâmpago de contagem regressiva

Normalmente vemos casos de contagem regressiva, como contagem regressiva durante o Taobao Double Eleven, contagem regressiva para o Festival da Primavera, etc.

De acordo com as características dos carimbos de data e hora e com o temporizador de intervalo, podemos calcular a diferença horária entre agora e o Double Eleven deste ano, processar os milissegundos, convertê-los em dias, horas, minutos e segundos, e também criar um simples efeito de contagem regressiva.

código mostrado abaixo:

function timer(n) {
    var miao1 = setInterval(function () {//间隔定时器
        var con = document.getElementById('con')
        var day11 = new Date(n)//预定的时间,以参数的形式传进来
        var daynow = new Date()//现在的时间
        var cha = day11 - daynow//二者的时间差,毫秒
        cha = cha / 1000//毫秒化成秒
        var day = parseInt(cha / 60 / 60 / 24);//天
        day = day < 10 ? '0' + day : day;//小于10前面补零
        var hour = parseInt(cha / 60 / 60 % 24);//时
        hour = hour < 10 ? '0' + hour : hour;
        var minute = parseInt(cha / 60 % 60);//分
        minute = minute < 10 ? '0' + minute : minute;
        var second = parseInt(cha % 60);//秒
        second = second < 10 ? '0' + second : second;
        con.innerHTML = '距离双十一还有' + day + '天' + hour + '小时' + minute + '分钟' + second + '秒'
        if (res <= 0) {
            // clearInterval(miao1)
            con.innerHTML = '双十一开始啦,快来剁手啊!'
            return
        }
    }, 1000)
}
timer('2023/11/11 0:0:0')

O efeito é mostrado na figura: Como o temporizador de intervalo é usado, ele mudará a cada segundo.

 Obrigado por ler, por favor me dê um like.

Acho que você gosta

Origin blog.csdn.net/zhangawei123/article/details/130541348
Recomendado
Clasificación