Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

พิมพ์เวลาระบบใน C++ (3 วิธี)


มีวิธีต่างๆ ที่สามารถพิมพ์วัน เดือน และเวลาของระบบในรูปแบบที่มนุษย์อ่านได้ (Human Readable Form)

วิธีที่ 1

ใช้ time() − ใช้หาเวลาปฏิทินปัจจุบัน และมีชนิดข้อมูลคณิตศาสตร์ที่เก็บเวลา
localtime() − ใช้เติมโครงสร้าง (structure) ด้วยวันที่และเวลา
asctime() − แปลงเวลาท้องถิ่น (Local time) เป็นรูปแบบ Human Readable

Day Month Date hour:minute:second Year

ตัวอย่าง

#include<iostream>
#include<ctime> // ใช้ทำงานกับวันที่และเวลา
using namespace std;

int main() {
    time_t t; // t ส่งเป็นอาร์กิวเมนต์ในฟังก์ชัน time()
    struct tm *tt; // ประกาศตัวแปรสำหรับ localtime()
    time(&t); // ส่งอาร์กิวเมนต์ให้ time()
    tt = localtime(&t);
    cout << "Current Day, Date and Time is = " << asctime(tt);
    return 0;
}

ผลลัพธ์

ถ้ารันโปรแกรมข้างต้น จะได้ผลลัพธ์ดังนี้

Current Day, Date and Time is = Tue Jul 23 19:05:50 2019

วิธีที่ 2

Chrono library ใช้วัดเวลาที่ผ่านไปในวินาที, มิลลิวินาที, ไมโครวินาที และนาโนวินาที

ตัวอย่าง

#include <chrono>
#include <ctime>
#include <iostream>
using namespace std;

int main() {
    auto givemetime = chrono::system_clock::to_time_t(chrono::system_clock::now());
    cout << ctime(&givemetime) << endl;
}

ผลลัพธ์

ถ้ารันโปรแกรมข้างต้น จะได้ผลลัพธ์ดังนี้

Current Day, Date and Time is = Tue Jul 23 19:05:50 2019

วิธีที่ 3

ตัวอย่าง

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

int main() {
    time_t givemetime = time(NULL);
    printf("%s", ctime(&givemetime)); // ctime() คืนค่าเวลาที่ให้มา
    return 0;
}

ผลลัพธ์

ถ้ารันโปรแกรมข้างต้น จะได้ผลลัพธ์ดังนี้

Tue Jul 23 20:14:42 2019