30/09/2018, 16:15

[Hỏi]Lấy thời gian hiện tại của máy và gán vào biến nào đó(ko dùng struct)

Như tiêu đề em cần hỏi lấy thời gian hiện tại trong C, không dùng struct vì đồ án thầy chưa cho dùng. Em lấy thời gian hiện tại nhưng chưa gán để nó giữ được.

Thực tế khắc nghiệt viết 18:30 ngày 30/09/2018
#include <stdio.h>
#include <time.h>
#include <conio.h>
int main ()
{
    time_t rawtime;
    struct tm * timeinfo;
    time ( &rawtime );
    timeinfo = localtime ( &rawtime );
    printf ( "Thoi gian va ngay hien hanh cua he thong: %s", asctime (timeinfo) );
    getch();
    return 0;
}

thử cái này coi
http://www.cplusplus.com/reference/ctime/

Vũ Minh Trí viết 18:25 ngày 30/09/2018

Mình thử rồi, cái này lấy thời gian hiện tại, mình gán vào 1 biến khác rồi nhưng ko được. để mình kiểm tra lại.

Nguyễn Minh Dũng viết 18:26 ngày 30/09/2018

mình gán vào 1 biến khác rồi nhưng ko được. để mình kiểm tra lại.

Em không thể làm như thế nhé. Vì time là 1 struct. Tại sao em lại muốn gán vào một biến. Có một cách là em đổi cái time này ra epoch time rồi lưu vào một biến. Nhưng số giây có thể rất lơn đấy.

Thực tế khắc nghiệt viết 18:18 ngày 30/09/2018

rồi lưu vào một biến

lưu vào biến time đc ko anh? tại bạn này pm hỏi ko dùng struct chỉ cần lấy thời gian hiện tại thôi anh

Nguyễn Minh Dũng viết 18:26 ngày 30/09/2018

biến time là biến nào @Honey_moon? time_t là struct đấy.

Thực tế khắc nghiệt viết 18:21 ngày 30/09/2018

struct đấy.

thế ra đó là hàm người dùng chế ra à anh. em cũng biết dùng struct chứ chưa gán vào biến mà anh nói bao giờ em kêu bạn này vào đây hỏi mọi ng đó đang hóng xem anh có cách nào hay ko còn copy paste vào não

Nguyễn Minh Dũng viết 18:17 ngày 30/09/2018

Em coi ví dụ a lấy ra từ đây: http://www.epochconverter.com/programming/functions-c.php

Thời gian hiện tại

#include <stdio.h>
#include <time.h>
int main(void)
{
    time_t     now;
    struct tm  ts;
    char       buf[80];
    // Get current time
    time(&now);
    // Format time, "ddd yyyy-mm-dd hh:mm:ss zzz"
    ts = *localtime(&now);
    strftime(buf, sizeof(buf), "%a %Y-%m-%d %H:%M:%S %Z", &ts);
    printf("%s\n", buf);
    return 0;
}

Số giây tính từ epoch time

#include <stdio.h>
#include <time.h>
int main(void)
{
    struct tm t;
    time_t t_of_day;
    t.tm_year = 2011-1900;
    t.tm_mon = 7;           // Month, 0 - jan
    t.tm_mday = 8;          // Day of the month
    t.tm_hour = 16;
    t.tm_min = 11;
    t.tm_sec = 42;
    t.tm_isdst = -1;        // Is DST on? 1 = yes, 0 = no, -1 = unknown
    t_of_day = mktime(&t);
    printf("seconds since the Epoch: %ld\n", (long) t_of_day);
    return 0;
}

Epoch time là một mốc thời gian thôi. Mình sẽ tính từ mốc thời gian đó, giả dụ năm 1970 tới giờ là bao nhiêu s. Thì lưu vào trong một biến int được. Đây là cách lưu trữ thời gian vào một biến kiểu int, hoặc kiểu long.

Thực tế khắc nghiệt viết 18:22 ngày 30/09/2018

sắp tới sẽ dùng cách này. có j tạo luôn 1 hàm con để lấy time chết luôn . tks anh nhiều nghen. chúc anh sức khoẻ

Nguyễn Minh Dũng viết 18:29 ngày 30/09/2018

I moved a post to a new topic: Hàm lấy thời gian trong C++

Bài liên quan
0