Alguém pode me dar uma ideia de como obter a data atual em milissegundos?
objective-c
cocoa-touch
ios
date
time
siva
fonte
fonte
Respostas:
Existem várias maneiras de fazer isso, embora a minha favorita seja:
Você pode ler mais sobre este método aqui . Você também pode criar um objeto NSDate e obter tempo chamando timeIntervalSince1970 que retorna os segundos desde 01/01/1970:
E em Swift:
fonte
CFAbsoluteTimeGetCurrent()
retorna a hora relativa à data de referênciaJan 1 2001 00:00:00 GMT
. Não que uma data de referência tenha sido fornecida na pergunta, mas esteja ciente de que este não é um carimbo de data / hora UNIX.Lançar o NSTimeInterval diretamente para um longo transbordou para mim, então, em vez disso, tive que lançar para um longo longo.
O resultado é um carimbo de data / hora de 13 dígitos como no Unix.
fonte
timeIntervalSince1970
método retorna os segundos em todo o número, no entanto, é umdouble
que também inclui o segundo fracionário, que pode ser convertido aritmeticamente em milissegundos. Portanto, a multiplicação por 1000.long long
? este idioma é tão estranhofonte
fonte
Você pode apenas fazer isso:
isso retornará um valor em milissegundos, portanto, se você multiplicar o valor resultante por 1000 (como sugerido em meus Eimantas), você estourará o tipo longo e resultará em um valor negativo.
Por exemplo, se eu executar esse código agora, ele resultará em
e
fonte
@JavaZava, sua solução é boa, mas se você deseja ter um valor de 13 dígitos para ser consistente com a formatação do carimbo de data / hora em Java ou JavaScript (e outras linguagens), use este método:
ou (se você precisar de uma string):
fonte
Conforme mencionado antes, [[NSDate date] timeIntervalSince1970] retorna um NSTimeInterval, que é uma duração em segundos, não em milissegundos.
Você pode visitar https://currentmillis.com/ para ver como você pode obter o idioma que deseja. Aqui está a lista -
Para o objetivo CI fez algo como abaixo para imprimi-lo -
Hopw isso ajuda.
fonte
Cconvert
NSTimeInterval
milisecondedDate
valor paransstring
e depois disso, converta emint
.fonte
Você pode usar os seguintes métodos para obter a data atual em milissegundos.
OU
Fonte: iPhone: Como obter os milissegundos atuais?
fonte
fonte
Use para obter o tempo em milissegundos
(long)(NSTimeInterval)([[NSDate date] timeIntervalSince1970])
.fonte
Uma extensão da data é provavelmente a melhor maneira de fazer isso.
fonte