c++ | time 小结

本文介绍了C++标准库中的时间处理函数,如`time_t`,`tm`,`clock`等,展示了如何获取当前时间、转换为UTC和本地时间,以及使用`strftime`进行格式化输出。

通过查看源码分析

namespace std
{
  using ::clock_t;					// clock_t x;	X = clock();	//获取程序跑了多久
  using ::time_t;					// time_t y;	y = time(NULL);	//从纪元开始计算 相当于程序从1970年开始跑
    							   // 获取当前时间 time_t current_time; 
    							   //current_time = time(NULL); 	
    							   //或者 time(&current_time); 当然也会返回 函数返回值也会可以是当前时间
  using ::tm;						//结构体 包含秒、分、时、天1(月)、月、天2(星期)、年份差(基准为1900)、天(年)、夏令				其实可以简单理解为本地时间

  using ::clock;
  using ::difftime;					//返回两个时间戳的差 time_t x, y; difftime(x, y);
  using ::mktime;					//将tm结构时间转换为时间戳
  using ::time;						
  using ::asctime;					//将tm结构时间转换为string
  using ::ctime;					//将时间戳转换为字符串
  using ::gmtime;					
  using ::localtime;
  using ::strftime;					//将tm 结构体按照指定format格式输出为string 
} // namespace





#include <stdio.h>
#include <time.h>
#include <string>

int main() {
    time_t current_time;
    struct tm *utc_timeinfo;

    time(&current_time);       // 获取当前时间戳    时间戳格式:月 日 当前时间  年份
    std::string nowTime = ctime(&current_time);
    printf("nowTime :%s\n", nowTime.c_str());
    utc_timeinfo = gmtime(&current_time); // 转换为 UTC 时间结构

    printf("UTC time: %s", asctime(utc_timeinfo));

    //本地模式
    utc_timeinfo = localtime(&current_time);
    std::string tmNowTime = asctime(utc_timeinfo);
    printf("localTime Mode :%s", tmNowTime.c_str());

    //指定格式
    char time_str[80];
    strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", utc_timeinfo);
    printf("strftime :%s", time_str);


    return 0;
}

//一些占位符的补充
%X %x		十六进制	分别以大写、小写表示
%llx		long long 大小的占位符		过短会被截断
%p			专输出地址		占位符
//

参考:
占位符参考

SSTF(最短寻道时间优先,Shortest Seek Time First)是一种磁盘调度算法,旨在通过选择当前磁头位置最近的请求来最小化寻道时间。以下是SSTF磁盘调度算法实验的小结: ### 实验目的 1. 理解SSTF磁盘调度算法的基本原理。 2. 通过实验验证SSTF算法的性能。 3. 比较SSTF算法与其他磁盘调度算法的优缺点。 ### 实验步骤 1. **准备实验环境**:搭建一个模拟磁盘调度算法的实验环境,可以使用编程语言如C++、Java或Python来实现。 2. **生成磁盘请求序列**:生成一组随机的磁盘请求序列,这些请求代表磁盘上不同位置的读写操作。 3. **实现SSTF算法**:编写代码实现SSTF磁盘调度算法,按照最短寻道时间优先的原则选择下一个要处理的请求。 4. **运行实验**:在实验环境中运行SSTF算法,记录每次寻道的时间和总寻道时间。 5. **数据分析**:分析实验数据,计算平均寻道时间,并与其它磁盘调度算法(如FCFS、SCAN等)进行比较。 ### 实验结果 1. **寻道时间**:SSTF算法通过选择当前磁头位置最近的请求,显著减少了寻道时间。 2. **平均寻道时间**:实验结果显示,SSTF算法的平均寻道时间较短,优于其他一些基本的磁盘调度算法。 3. **饥饿问题**:实验中观察到,SSTF算法可能会导致某些请求长时间得不到服务,出现饥饿现象。 ### 实验结论 1. **性能优势**:SSTF算法在减少寻道时间方面表现出色,适用于对性能要求较高的应用场景。 2. **局限性**:由于SSTF算法可能会导致请求饥饿,因此在实际应用中需要结合其他调度策略来避免这一问题。 3. **改进方向**:可以考虑引入时间戳或优先级机制来改进SSTF算法,减少请求饥饿现象。 ### 实验总结 通过本次实验,我们深入了解了SSTF磁盘调度算法的原理和实现方法,并通过实验验证了其性能优势。同时,我们也认识到SSTF算法的局限性,并提出了可能的改进方向。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值