1970年至今秒数转化为时间

本文汇总了使用多种编程语言(包括C/C++、QT、C#、Java、Python及Shell脚本)获取当前系统时间的方法,并提供了从1970年以来秒数的获取方式以及如何将该秒数转化为日期格式。
Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

当前系统时间,一般取自1970年以来秒数值(int),各种编程语言提供API处理方式不同,特汇总。

 

1.C/C++

time_t seconds;

time(&seconds);

 

2.QT

QDateTime dt = QDateTime::currentDateTime();

dt.toTime_t();

 

3.C#

C#没有直接提供获取1970年秒值的API,可通过DateTime运算获取

// 不能用DateTime.Now,否则会有8h时差
int seconds = DateTime.UtcNow.Subtract(DateTime.Parse("1970-1-1")).TotalSeconds;
 
// 秒转化为字符串
DateTime dt = DateTime.Parse("1970-01-01 00:00:00").AddSeconds(seconds);
dt = dt.AddSeconds(8 * 60 * 60);     // +8h的时差
string time = dt.ToString("yyyy-MM-dd HH:mm:ss");

  

4. Java

// 获取秒

int seconds = System.currentTimeMillis()/1000;

 

// 秒转化为日期

Date dt = new Date();

dt.setTime( seconds*1000 );

 

5. Python

与C语言API基本一致

import time
time.time()	#返回的是一个浮点型数值
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())	#时间字符串

 

 6. Shell

seconds=`date +"%s"`     #自1970年以来秒数
stime=`date -d @$seconds +"%Y-%m-%d %H:%M:%S""`   #秒数转化为时间字符串

 

 

 

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 如何计算从19701月1日0时0分0当前时间秒数 要计算从19701月1日0时0分0(即Unix纪元起点)到当前时间秒数,可以利用多种编程语言中的内置函数实现这一目标。以下是几种常见的方式: #### 使用Python计算 在Python中,可以通过`time`模块轻松获得当前时间对应的Unix时间戳。 ```python import time current_unix_timestamp = int(time.time()) # 获取当前时间时间戳并转换为整数 print(f"当前Unix时间戳为: {current_unixTimestamp} ") # 输出结果 ``` 这里 `time.time()` 函数返回自19701月1日UTC零点以来的浮点型秒数[^1],将其转化为整数即可得到所需的秒数。 #### 使用C语言计算 如果采用C语言,则需要借助标准库 `<time.h>` 中的相关功能来完成同样的任务。 ```c #include <stdio.h> #include <time.h> int main(){ time_t current_time; // 调用time函数获取当前时间作为参数传入 current_time = time(NULL); printf("Current Unix timestamp is %ld seconds since January 1, 1970.\n", (long)current_time); return 0; } ``` 在此程序片段里,`time()` 返回的是一个指向`time_t`类型的指针,代表的就是从19701月1日起至今经历过的总秒数[^3]。 #### JavaScript 实现方案 对于前端开发者来说,JavaScript 提供了一种简便的方法通过其内建的对象 Date 来取得这个值。 ```javascript let now = new Date(); let unixTimestamp = Math.floor(now.getTime()/1000); console.log(unixTimestamp+" Seconds have passed from Jan 1st 1970"); ``` 这段脚本首先实例化了一个新的日期对象 `now`, 接着调用了它的成员方法 `.getTime()`, 它会给出以毫计自从1970初到现在流逝了多少时间;最后除以一千再取地板值得到了精确到钟级别的UNIX时间戳[^4]. 以上三种不同的技术栈都展示了如何简单有效地求得此刻距离那个特殊时刻过去了多少个完整的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值