golang时间戳

本文深入探讨了Golang中时间戳的使用,包括秒、毫秒和纳秒级别的时间戳输出方式,通过代码示例展示了如何获取不同精度的时间戳。

golang的time包:秒、毫秒、纳秒时间戳输出

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.youkuaiyun.com/u012978258/article/details/80822608

菜鸟的时候只知道时间戳有10位、13位、还有好长位数的。

入坑久了才明白
10位数的时间戳是以 秒 为单位;
13位数的时间戳是以 毫秒 为单位;
19位数的时间戳是以 纳秒 为单位;

golang中可以这样写:

package main

import (
	"time"
	"fmt"
)

func main() {
	fmt.Printf("时间戳(秒):%v;\n", time.Now().Unix())
	fmt.Printf("时间戳(纳秒):%v;\n",time.Now().UnixNano())
	fmt.Printf("时间戳(毫秒):%v;\n",time.Now().UnixNano() / 1e6)
	fmt.Printf("时间戳(纳秒转换为秒):%v;\n",time.Now().UnixNano() / 1e9)
}

输出结果为:

时间戳(秒):1530027865;
时间戳(纳秒):1530027865231834600;
时间戳(毫秒):1530027865231;
时间戳(纳秒转换为秒):1530027865;
### 时间戳的概念及其生成和使用 时间戳是一种用来表示某一时刻或事件发生时的时间值,通常是一个数字或字符串,表示从一个特定的起始时间点(如 UNIX 时间戳的起始时间为 1970 年 1 月 1 日 UTC)到当前时刻所经过的时间量[^1]。 #### C# 中生成时间戳的方法 在 C# 中可以通过计算当前时间和 Unix 起始时间之间的差值来生成时间戳。以下是一个示例代码: ```csharp public virtual string GetTimestamp() { DateTime currentTime = DateTime.Now; DateTime epochTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); TimeSpan timeSpan = currentTime.ToUniversalTime() - epochTime; long timestamp = (long)timeSpan.TotalSeconds; return timestamp.ToString(); } ``` 此方法返回的是一个 10 位整数形式的时间戳,精确到秒级别[^2]。 #### Python 中生成时间戳并应用其生成文件名 在 Python 中可以利用 `datetime` 和 `time` 模块轻松生成时间戳,并将其应用于各种场景,例如生成带有唯一性的文件名。以下是具体实现方式: ```python import datetime import os def generate_timestamp_filename(prefix="file_", suffix=".txt"): now = datetime.datetime.now() timestamp = int(now.timestamp()) # 获取当前时间戳 filename = f"{prefix}{timestamp}{suffix}" return filename filename = generate_timestamp_filename() print(f"Generated Filename: {filename}") ``` 这段代码通过调用 `now.timestamp()` 方法获得当前时间戳,并以此为基础构建具有唯一名称的文件路径[^3]。 #### 随机数种子初始化中的时间戳应用 除了直接作为时间标记外,时间戳还常被用作随机数生成器的种子值。由于时间戳会随时间不断改变,因此非常适合用于设置初始状态下的伪随机序列。下面展示了一种基于 C 的简单例子: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> int main(){ srand((unsigned)time(NULL)); // 使用时间戳初始化随机数种子 printf("%d\n", rand()); return 0; } ``` 这里展示了如何利用标准库函数 `time` 来获取当前时间戳,并传递给 `srand` 函数完成随机化过程[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值