C言語で2つの時間帯の差を秒数で求めるには

次の数式を使用して2つの期間の間の秒数を計算できます。

int calculateSeconds(int startHour, int startMinute, int startSecond, int endHour, int endMinute, int endSecond) {
    int totalSeconds = 0;
    
    // 计算起始时间的总秒数
    totalSeconds += startHour * 3600;      // 将小时转换成秒数
    totalSeconds += startMinute * 60;      // 将分钟转换成秒数
    totalSeconds += startSecond;           
    
    // 计算结束时间的总秒数
    totalSeconds -= endHour * 3600;        // 将小时转换成秒数
    totalSeconds -= endMinute * 60;        // 将分钟转换成秒数
    totalSeconds -= endSecond;
    
    // 如果总秒数为负数,则代表结束时间比起始时间早,需要取绝对值
    if (totalSeconds < 0) {
        totalSeconds = abs(totalSeconds);
    }
    
    return totalSeconds;
}

例句の使用例:

int main() {
    int startHour, startMinute, startSecond;
    int endHour, endMinute, endSecond;
    
    printf("请输入起始时间(时 分 秒):");
    scanf("%d %d %d", &startHour, &startMinute, &startSecond);
    
    printf("请输入结束时间(时 分 秒):");
    scanf("%d %d %d", &endHour, &endMinute, &endSecond);
    
    int seconds = calculateSeconds(startHour, startMinute, startSecond, endHour, endMinute, endSecond);
    
    printf("两个时间段之间的秒数为:%d\n", seconds);
    
    return 0;
}

すると、ユーザーは開始時間と終了時間を設定することで、二つの時間の間の秒数を取得することができる。

bannerAds