XuLaLa.Tech

首页客户端下载Windows 使用V2Ray 教程SSR 教程Clash 教程

一文掌握七大编程语言获取时间戳的方法:PHP、Java、Golang、C#、JavaScript、Rust和Python

2025.04.09

时间戳在编程中有着广泛的应用,例如记录事件的发生时间、计算时间间隔、处理时间数据等。时间戳通常以秒或毫秒为单位,自1970年1月1日(Unix纪元)以来的时间总数。本文将介绍几种主流开发语言中如何获取时间戳,包括PHP、Java、Golang、C#、JavaScript、Rust和Python。

文章目录

  • 1 一、PHP
  • 2 二、Java
  • 3 三、Golang
  • 4 四、C#
  • 5 五、JavaScript
  • 6 六、Rust
  • 7 七、Python

一、PHP

PHP 是一种广泛用于Web开发的服务器端脚本语言。获取当前时间戳在PHP中非常简单。

<?php
// 获取当前时间戳
$timestamp = time();
echo $timestamp;
?>
time()函数返回当前的Unix时间戳,以秒为单位。

二、Java

Java是一种面向对象的编程语言,广泛用于企业级应用开发。获取时间戳可以使用System类或Instant类。
// 使用System.currentTimeMillis()获取时间戳
long timestamp = System.currentTimeMillis();
System.out.println(timestamp);
// 使用Instant类获取时间戳
import java.time.Instant;
Instant now = Instant.now();
long timestamp = now.toEpochMilli();
System.out.println(timestamp);
System.currentTimeMillis()返回自1970年1月1日以来的毫秒数,而Instant.now().toEpochMilli()则使用了Java 8引入的新日期时间API。

三、Golang

Go语言(Golang)是一种静态类型、编译型语言,适用于高并发和高性能应用开发。获取时间戳可以使用time包。
package main
import (
"fmt"
"time"
)
func main() {
// 获取当前时间戳(秒)
timestamp := time.Now().Unix()
fmt.Println(timestamp)
// 获取当前时间戳(毫秒)
timestampMilli := time.Now().UnixNano() / int64(time.Millisecond)
fmt.Println(timestampMilli)
}
time.Now().Unix()返回当前的Unix时间戳,以秒为单位。time.Now().UnixNano()返回纳秒时间戳,除以time.Millisecond即可得到毫秒时间戳。

四、C#

C# 是一种现代的、面向对象的编程语言,主要用于开发Windows平台上的应用。获取时间戳可以使用DateTimeDateTimeOffset类。
using System;
class Program
{
static void Main()
{
// 使用DateTime获取时间戳
DateTimeOffset now = DateTimeOffset.UtcNow;
long timestamp = now.ToUnixTimeSeconds();
Console.WriteLine(timestamp);
// 使用DateTimeOffset获取时间戳(毫秒)
long timestampMilli = now.ToUnixTimeMilliseconds();
Console.WriteLine(timestampMilli);
}
}
DateTimeOffset.UtcNow.ToUnixTimeSeconds()返回当前的Unix时间戳,以秒为单位。ToUnixTimeMilliseconds()则返回以毫秒为单位的时间戳。

五、JavaScript

JavaScript 是一种广泛用于Web开发的脚本语言,通常在浏览器中运行。获取时间戳可以使用Date对象。
// 获取当前时间戳(毫秒)
let timestamp = Date.now();
console.log(timestamp);
// 获取当前时间戳(秒)
let timestampSeconds = Math.floor(Date.now() / 1000);
console.log(timestampSeconds);
Date.now()返回自1970年1月1日以来的毫秒数。除以1000并使用Math.floor()可以得到以秒为单位的时间戳。

六、Rust

Rust是一种系统编程语言,注重安全性和性能。获取时间戳可以使用std::time模块。
use std::time::{SystemTime, UNIX_EPOCH};
fn main() {
// 获取当前时间戳(秒)
let start = SystemTime::now();
let since_the_epoch = start.duration_since(UNIX_EPOCH)
.expect("Time went backwards");
let timestamp = since_the_epoch.as_secs();
println!("{}", timestamp);
// 获取当前时间戳(毫秒)
let timestamp_millis = since_the_epoch.as_millis();
println!("{}", timestamp_millis);
}
SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_secs()返回当前的Unix时间戳,以秒为单位。而as_millis()则返回以毫秒为单位的时间戳。

七、Python

Python 是一种广泛使用的高级编程语言,因其简洁和可读性高的语法而受欢迎。获取时间戳可以使用time模块或datetime模块。
import time
from datetime import datetime
# 使用time模块获取时间戳(秒)
timestamp = time.time()
print(timestamp)
# 使用time模块获取时间戳(毫秒)
timestamp_milli = int(time.time() * 1000)
print(timestamp_milli)
# 使用datetime模块获取时间戳(秒)
timestamp_dt = datetime.now().timestamp()
print(timestamp_dt)
# 使用datetime模块获取时间戳(毫秒)
timestamp_dt_milli = int(datetime.now().timestamp() * 1000)
print(timestamp_dt_milli)
time.time()返回当前的Unix时间戳,以秒为单位。乘以1000并转换为整数可以得到以毫秒为单位的时间戳。datetime.now().timestamp()也返回秒级时间戳,处理方式相同。

不同的编程语言都有自己获取时间戳的方法,但它们都基于同一个概念,即计算自Unix纪元以来的时间。无论是用于记录日志、处理时间数据还是执行时间计算,掌握获取时间戳的方法都是编程中的基本技能。

© 2010-2022 XuLaLa 保留所有权利 本站由 WordPress 强力驱动
请求次数:69 次,加载用时:0.665 秒,内存占用:32.19 MB