当前系统时间,一般取自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运算获取
C#代码 收藏代码
// 不能用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”);
- Java
// 获取秒
int seconds = System.currentTimeMillis()/1000;
// 秒转化为日期
Date dt = new Date();
dt.setTime( seconds*1000 );
- Python
与C语言API基本一致
Python代码 收藏代码
import time
time.time() #返回的是一个浮点型数值
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) #时间字符串
- Shell
Shell代码 收藏代码
seconds=date +"%s"
#自1970年以来秒数
stime=date -d @$seconds +"%Y-%m-%d %H:%M:%S""
#秒数转化为时间字符串