Una marca de temps o marca de temps és l'hora actual en què un esdeveniment es realitza (o grava) per un ordinador o càmera digital. La data i l'hora actuals es registren en un fitxer i es registren quan es creen, s'executen, es modifiquen o s'eliminen dades. Un ordinador registra la data i l'hora en què es fa una acció sobre un document o carpeta. Un altre exemple de marca de temps és que una càmera digital registra la data i l'hora d'una foto quan es fa clic.
Podem convertir una marca de temps UNIX en formats de data i hora llegibles per humans en diferents llenguatges de programació. Aquí, parlarem de com convertir la marca de temps a la data en diversos llenguatges de programació.
1. Marca de temps fins a la data en JavaScript
Tota la funció que funciona amb data i hora a JavaScript utilitza un objecte Date() i els seus mètodes. L'objecte Date ofereix diferents maneres d'obtenir la marca de temps actual de la màquina en JavaScript. JavaScript dóna i retorna el resultat de la marca de temps de la màquina en microsegons des de l'1 de gener de 1970 a les 00:00:00 UTC.
Obteniu l'hora actual en JavaScript:
A JavaScript, quan es crea un objecte Date sense cap argument, utilitza l'hora actual, de manera que utilitzant el codi següent obtindrem la marca de temps actual del dispositiu.
current_timestamp.html
var timestamp = new Date().getTime()/1000; document.write(timestamp);
Obriu el fitxer en qualsevol navegador compatible i veureu la marca de temps actual.
Sortida
JavaScript ofereix diverses funcions per convertir les marques de temps a data i hora en un format diferent que els humans puguin llegir. Aquestes funcions són les següents:
Funció | Descripció |
---|---|
toDateString | Converteix la part de data de l'objecte Date en una cadena llegible per l'home. |
toTimeString | Converteix la part de temps de l'objecte Date perquè els humans la puguin llegir. |
toString | Converteix l'objecte Date en un valor de cadena. |
toLocaleString | Converteix l'objecte Date en una cadena, utilitzant les convencions locals. |
toLocaleDateString | Retorna l'única data de l'objecte Date en format de cadena, utilitzant les convencions locals. |
toLocaleTimeString | Només retorna l'hora de l'objecte Date en format de cadena, utilitzant les convencions locals. |
a JSON | Retorna la data com a dades JSON en format de cadena. |
toISOString | Retorna la data com una cadena, utilitzant l'estàndard ISO. |
toUTCString() | Converteix l'objecte Date en una cadena basada en el temps universal. |
Converteix la marca de temps en data en JavaScript
Timestamp_to_date.html
var timestamp = Date.now()/1000; document.write(timestamp);//current timestamp var datetime = new Date(timestamp * 1000); document.write(' <br>'); document.write(datetime); document.write(' <br>'); document.write(datetime.toDateString()); document.write(' <br>'); document.write(datetime.toTimeString()); document.write(' <br>'); document.write(datetime.toString()); document.write(' <br>'); document.write(datetime.toLocaleString()); document.write(' <br>'); document.write(datetime.toLocaleDateString());
Sortida
2. Marca de temps a la data a Java
En Java , una marca de temps es pot convertir fàcilment en data mitjançant un constructor de la classe java.util.Date. Un constructor de la classe Date pren un paràmetre de valor llarg. Per tant, cal convertir un objecte Timestamp en un valor llarg utilitzant getTime() mètode de java.sql.Marca de temps classe.
a) Converteix la marca de temps en data a Java mitjançant el constructor de data
En passar el Marca de temps objecte al constructor de data, podem convertir el valor de marca de temps actual del dispositiu a data. Considereu l'exemple següent:
import java.sql.Timestamp; import java.util.Date; public class TimestampToDateExample1 { public static void main(String args[]){ Timestamp timestamp = new Timestamp(System.currentTimeMillis()); Date date = new Date(timestamp.getTime()); System.out.println(date); } }
Sortida
b) Converteix la marca de temps en data a Java mitjançant la referència de data
Fins i tot podem obtenir el tipus de data simplement assignant l'objecte Timestamp a la referència de la data.
import java.sql.Timestamp; import java.util.Date; public class TimestampToDateExample2 { public static void main(String args[]){ Timestamp timestamp = new Timestamp(System.currentTimeMillis()); Date date = timestamp; System.out.println(date); } }
Sortida
c) Converteix marca de temps en data a Java mitjançant la classe Calendar
El getInstance() mètode de java.util.Calendar class és un mètode estàtic, que s'utilitza amb l'objecte calendari per obtenir la instància del calendari en funció de la zona horària actual establerta per Java Runtime Environment.
import java.sql.Timestamp; import java.util.Calendar; import java.util.Date; public class TimestampToDateExample3 { public static void main(String args[]){ Timestamp timestamp = new Timestamp(System.currentTimeMillis()); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(timestamp.getTime() ); System.out.println(calendar.getTime()); } }
Sortida
3. Marca de temps fins a la data a Python
Python té diversos mòduls com hora, datahora i calendari que tracten amb diferents formats de dates i hores. Una marca de temps UNIX va passar milers de segons entre una data i una hora particulars des de l'1 de gener de 1970 a les hores UTC. Podem obtenir aquestes marques de temps i convertir-les a la data i hora actuals.
Obteniu la marca de temps actual mitjançant l'hora del mòdul
El mòdul temps ofereix molts mètodes relacionats amb el temps; un d'ells és temps que retorna el nombre de segons des de l'època.
import time; timestamp = time.time(); print(timestamp);
Captura de pantalla i sortida
Obteniu la marca de temps actual mitjançant la data i l'hora del mòdul
El mòdul data i hora ofereix classes que manipulen la data i l'hora d'una manera orientada a objectes. Un d'aquests mòduls és datetime.datetime.now que retorna el nombre de segons des de l'època en microsegons.
quan comença q2
import datetime; timestamp = datetime.datetime.now().timestamp(); print(timestamp);
Captura de pantalla i sortida
Obteniu la marca de temps actual mitjançant el calendari del mòdul:
Python també ofereix un calendari mòdul per obtenir la marca de temps actual. Mitjançant el mòdul de calendari, farem servir el timegm mètode per obtenir una marca de temps. Tanmateix, no es recomana utilitzar un mòdul de calendari perquè perdràs alguns mil·lisegons o nanosegons.
import time; timestamp = calendar.timegm(time.gmtime()); print(timestamp);
Captura de pantalla i sortida
Converteix la marca de temps a DateTime a Python
Simplement utilitzarem el des del segell de temps mètode d'a data i hora mòdul per obtenir la data de la marca de temps de UNIX. El mètode datetime.fromtimestamp() pren el valor de la marca de temps com a paràmetre d'entrada i retorna el resultat de la data i l'hora actuals locals.
import time; import datetime; from datetime import datetime; timestamp = time.time(); print(timestamp); # 1610524738.8164573 date_obj = datetime.fromtimestamp(timestamp); print('current date and time:', date_obj); # current date and time: 2021-01-13 13:28:58.816457
Captura de pantalla i sortida
Converteix la marca de temps a la data amb format a Python
Per obtenir la data i l'hora en un format específic, podeu utilitzar strftime mètode. El strftime() El mètode converteix objectes de data i hora en un format de cadena especificat.
Exemple 1:
import time; from datetime import datetime; timestamp = time.time(); print(timestamp); # 1610527190.912418 date_obj = datetime.fromtimestamp(timestamp).strftime('%d-%m-%Y'); print('current date:', date_obj); # current date: 13-01-2021
Captura de pantalla i sortida
Exemple 2:
import time; timestamp = time.gmtime(); date_time1 = time.strftime('%d-%m-%Y %H:%M:%S', timestamp); date_time2 = time.strftime('%x %X', timestamp); date_time3 = time.strftime('%c', timestamp); print(date_time1); # 13-01-2021 09:19:44 print(date_time2); # 01/13/21 09:19:44 print(date_time3); # Wed Jan 13 09:19:44 2021
Captura de pantalla i sortida
4. Marca de temps a la data en PHP
Podem convertir fàcilment la marca de temps a data/hora utilitzant incorporat data i hora() , funcions. Una marca de temps UNIX es pot convertir a qualsevol format de data especificat PHP . Hi ha moltes maneres d'obtenir el valor actual de la marca de temps en PHP. Aquestes funcions retornen la data i l'hora en el format de cadena especificat.
temps() : El temps() La funció és una de les funcions populars i àmpliament utilitzades per obtenir la marca de temps actual en PHP. Aquesta funció no requereix cap argument per obtenir el valor de marca de temps.
$current_timestamp = time();
strtotime() : El strtotime() La funció s'utilitza principalment per obtenir el valor de marca de temps UNIX. Hi ha diverses cadenes de data o hora compatibles que es poden passar com a argument en aquesta funció (com ara 'el proper diumenge', '+1 setmana', '+10 hores', 'ara', etc.). El paràmetre de cadena 'ara' a strtotime() La funció retorna la marca de temps actual.
$current_timestamp = strtotime('now');
mktime(): El mktime() La funció també s'utilitza per retornar la marca de temps de UNIX, però requereix un conjunt de paràmetres de data com ara hora, minut, segon, mes, dia, any.
$current_timestamp = mktime(date('H'),date('i'),date('s'),date('m'),date('d'),date('Y'));
Obteniu la marca de temps actual en PHP
<?php $current_timestamp_using_time = time(); echo 'timestamp using time(): $current_timestamp_using_time'; echo '</br>'; $current_timestamp_using_strtotime = strtotime('now'); echo 'timestamp using strtotime(): $current_timestamp_using_strtotime'; $current_timestamp_using_kmtime = mktime(date('H'),date('i'),date('s'),date('m'),date('d'),date('Y')); echo '<br>'; echo 'timestamp using mktime(): $current_timestamp_using_kmtime'; ?>
Sortida
timestamp using time(): 1610540287 timestamp using strtotime(): 1610540287 timestamp using mktime(): 1610540287
Obteniu la marca de temps actual en microtime mitjançant la funció microtime().
Sortida
1610541098.9467
Obteniu la marca de temps actual mitjançant la classe DateTime
PHP Data i hora Class proporciona un enfocament orientat a objectes per manipular la data i l'hora.
format('U'); echo '<br>'; $timestamp2 = new Datetime('now'); echo $timestamp2->format('U'); ?>
Sortida
1610541454 1610541454
Converteix la marca de temps actual a la data en PHP
<?php echo date('m/d/Y', time()); echo '</br>'; echo date('m/d/Y H:i:s', microtime(true)); echo '<br>'; $timestamp1 = new Datetime(); echo date('d/m/Y', $timestamp1->format('U')); ?>
Sortida
01/13/2021 01/13/2021 12:36:25 13/01/2021
A continuació es mostren alguns formats de data llegibles diferents en PHP.
mm/dd/aaaa | $data = data('m/d/Y', $actual_timestamp); |
dd/mm/aaaa | $data = data('d/m/A', $marca de temps_actual); |
Amb temps | $data = data('d F Y H:i:s', $actual_timestamp); |
Sense temps | $data = data('d F Y', $actual_timestamp); |
5. Marca de temps fins a la data a MySQL
En MySQL , la funció FROM_UNIXTIME() converteix un valor de marca de temps en data i hora. La funció FROM_UNIXTIME() retorna diferents tipus de resultats de dades/hora i el seu format es basa en els paràmetres que hi passen. Aquestes consultes són:
Consulta MySQL | Resultat |
---|---|
SELECT UNIX_TIMESTAMP(NOW()) (aquí ara() és opcional) | retorna l'època actual |
SELECCIONA UNIX_TIMESTAMP(CURDATE()) | torna avui a mitjanit |
SELECT UNIX_TIMESTAMP(DATE_ADD(CURDATE(),INTERVAL -1 DIA)) | torna la data d'ahir a mitjanit |
SELECT UNIX_TIMESTAMP(CONCAT(YEAR(CURDATE()),'-01-01')) | torna l'1 de gener de l'any en curs |
SELECT UNIX_TIMESTAMP(cadena de temps) | converteix una data en hora d'època i el seu format d'hora és AAAA-MM-DD HH:MM:SS o AAAMMDD o AAAAMMDD |
SELECT FROM_UNIXTIME (marca de temps d'època, format de sortida opcional) | converteix el temps de l'època a la data; el format de sortida predeterminat és AAAA-MM-DD HH:MM:SS |
Provem aquesta funció en un exemple per convertir la marca de temps en data o data/hora. Al principi, crearem una taula senzilla amb una columna de int tipus. Després d'això, el convertim en marca de temps i després en data/hora.
Creació d'una taula:
mysql> CREATE TABLE TimestamptoDateTable (CurrentTimeStamp int(11));
Consulta i sortida
Inserció de registres de marca de temps:
mysql> INSERT INTO TimestamptoDateTable VALUES(1610543287);
Consulta i sortida
Mostra tots els registres d'una taula:
mysql> SELECT * FROM TimestamptoDateTable;
Consulta i sortida
Sintaxi per convertir la marca de temps en data/hora llegible:
mysql> SELECT from_unixtime(yourColumnName) from yourTableName;
Converteix la marca de temps en data i hora llegibles:
mysql> SELECT FROM_UNIXTIME(CurrentTimeStamp) from TimestamptoDateTable;
Consulta i sortida
Sintaxi per convertir la marca de temps anterior a data i hora amb format:
mysql> SELECT FROM_UNIXTIME(YourColumnName, '%Y %D %M %h:%i:%s') FROM YourTableName;
Converteix la marca de temps en format de data i hora:
mysql> SELECT FROM_UNIXTIME(CurrentTimeStamp, '%Y %D %M %h:%i:%s') FROM TimestamptoDateTable;
Consulta i sortida