cuốn sách gpt4 ai đã làm

Khoảng thời gian (không phải ngày) trong C++

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 16:00:33 28 4
mua khóa gpt4 Nike

Tôi muốn kiểm tra xem thời gian hiện tại (bằng C++) có nằm trong phạm vi thời gian không.

Tôi muốn tạo một phạm vi thời gian từ một bộ dữ liệu ("12:00", "17:30") tức là (chuỗi, chuỗi) và kiểm tra xem thời gian bây giờ() có nằm giữa hai thời gian hay không.

Có cách nào tốt không? Tôi không muốn kiểm tra ngày, tức là tôi không quan tâm đó là thứ Hai hay tháng Mười. Tất cả những gì tôi quan tâm là thời gian.

câu trả lời hay nhất

Nếu bạn có thể ép buộc các chuỗi trong bộ dữ liệu thànhHH:MM, bạn có thể sử dụng một so sánh chuỗi đơn giản(Một).

Chương trình hoàn chỉnh bên dưới cho biết cách lấy thời gian hiện tại dưới dạng chuỗi:

#include 
#include

std::string getNowHhMm() {
time_t bây giờ = thời gian(0);
struct tm *local = localtime(&now);
char buff[sizeof("hh:mm")];
strftime(buff, sizeof(buff), "%H:%M", local);
trả lại buff;
}

int chính() {
std::cout << getNowHhMm() << std::endl;
}

Khi sử dụng hàm này, bạn cũng có thể cung cấp một hàm để xem liệu nó có nằm trong phạm vi nhất định hay không:

bool isBetween(
const std::string &now,
const std::string &lo,
const std::string &hi
) {
return (bây giờ >= lo) && (bây giờ <= xin chào);
}

và gọi nó là:

if (isBetween(getNowHhMm(), thời gian thấp nhất, thời gian cao nhất))
std::cout << "Nó nằm trong phạm vi.\n';

Và để đạt hiệu quả, nếu bạn đang kiểm tra nhiều phạm vi, hãy nhớ lưu trữ getNowHhMm() Giá trị trả về:

std::string bây giờ = getNowHhMm();

if (isBetween(bây giờ, "00:00", "05:59"))
std::cout << "Còn quá sớm để dậy.\n";
khác nếu (isBetween(bây giờ, "06:00", "07:59"))
std::cout << "Đã đến lúc trỗi dậy.\n";
khác nếu (isBetween(bây giờ, "08:00", "11:59"))
std::cout << "Ra khỏi giường đi, đồ lười biếng.\n";
khác
std::cout << "Ngủ đi, chắc bạn đã bị sa thải rồi.\n";

(Một) Vâng, đây là việc phát minh lại bánh xe, nhưng với sự đơn giản của bánh xe này, tôi nghĩ đó là một giải pháp tốt.

Về khoảng thời gian (chứ không phải ngày) của C++, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/45236225/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress