当前系统时间,一般取自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""` #秒数转化为时间字符串