' Excel VBA Function for Calculating Total Hours
Function CalculateTotalHours(startDate As Date, endDate As Date, dailyHours As Double) As Double
Dim days As Long
days = DateDiff("d", startDate, endDate) + 1
CalculateTotalHours = days * dailyHours
End Function
' Usage:
' =CalculateTotalHours(A1, B1, C1)
from datetime import datetime, timedelta
def calculate_total_hours(start_date, end_date, daily_hours):
date_format = "%Y-%m-%d"
start = datetime.strptime(start_date, date_format)
end = datetime.strptime(end_date, date_format)
days = (end - start).days + 1
return days * daily_hours
## Example usage:
start_date = "2023-01-01"
end_date = "2023-01-10"
daily_hours = 8
total_hours = calculate_total_hours(start_date, end_date, daily_hours)
print(f"Total Hours: {total_hours:.2f}")
function calculateTotalHours(startDate, endDate, dailyHours) {
const start = new Date(startDate);
const end = new Date(endDate);
const days = (end - start) / (1000 * 60 * 60 * 24) + 1;
return days * dailyHours;
}
// Example usage:
const startDate = '2023-01-01';
const endDate = '2023-01-10';
const dailyHours = 8;
const totalHours = calculateTotalHours(startDate, endDate, dailyHours);
console.log(`Total Hours: ${totalHours.toFixed(2)}`);
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class HourCalculator {
public static double calculateTotalHours(LocalDate startDate, LocalDate endDate, double dailyHours) {
long days = ChronoUnit.DAYS.between(startDate, endDate) + 1;
return days * dailyHours;
}
public static void main(String[] args) {
LocalDate startDate = LocalDate.of(2023, 1, 1);
LocalDate endDate = LocalDate.of(2023, 1, 10);
double dailyHours = 8.0;
double totalHours = calculateTotalHours(startDate, endDate, dailyHours);
System.out.printf("Total Hours: %.2f%n", totalHours);
}
}
calculate_total_hours <- function(start_date, end_date, daily_hours) {
start <- as.Date(start_date)
end <- as.Date(end_date)
days <- as.numeric(difftime(end, start, units = "days")) + 1
total_hours <- days * daily_hours
return(total_hours)
}
## Example usage:
start_date <- "2023-01-01"
end_date <- "2023-01-10"
daily_hours <- 8
total_hours <- calculate_total_hours(start_date, end_date, daily_hours)
cat(sprintf("Total Hours: %.2f\n", total_hours))
function totalHours = calculateTotalHours(startDate, endDate, dailyHours)
startDateNum = datenum(startDate);
endDateNum = datenum(endDate);
days = endDateNum - startDateNum + 1;
totalHours = days * dailyHours;
end
% Example usage:
startDate = '2023-01-01';
endDate = '2023-01-10';
dailyHours = 8;
totalHours = calculateTotalHours(startDate, endDate, dailyHours);
fprintf('Total Hours: %.2f\n', totalHours);
#include <iostream>
#include <ctime>
#include <string>
#include <iomanip>
double calculateTotalHours(const std::string& startDate, const std::string& endDate, double dailyHours) {
std::tm start = {}, end = {};
std::istringstream ss_start(startDate);
std::istringstream ss_end(endDate);
ss_start >> std::get_time(&start, "%Y-%m-%d");
ss_end >> std::get_time(&end, "%Y-%m-%d");
std::time_t start_time = std::mktime(&start);
std::time_t end_time = std::mktime(&end);
double days = std::difftime(end_time, start_time) / (60 * 60 * 24) + 1;
return days * dailyHours;
}
int main() {
std::string startDate = "2023-01-01";
std::string endDate = "2023-01-10";
double dailyHours = 8.0;
double totalHours = calculateTotalHours(startDate, endDate, dailyHours);
std::cout << "Total Hours: " << std::fixed << std::setprecision(2) << totalHours << std::endl;
return 0;
}
require 'date'
def calculate_total_hours(start_date, end_date, daily_hours)
start = Date.parse(start_date)
end_date = Date.parse(end_date)
days = (end_date - start).to_i + 1
days * daily_hours
end
## Example usage:
start_date = "2023-01-01"
end_date = "2023-01-10"
daily_hours = 8
total_hours = calculate_total_hours(start_date, end_date, daily_hours)
puts "Total Hours: #{total_hours.round(2)}"
<?php
function calculateTotalHours($startDate, $endDate, $dailyHours) {
$start = new DateTime($startDate);
$end = new DateTime($endDate);
$days = $end->diff($start)->days + 1;
return $days * $dailyHours;
}
// Example usage:
$startDate = '2023-01-01';
$endDate = '2023-01-10';
$dailyHours = 8;
$totalHours = calculateTotalHours($startDate, $endDate, $dailyHours);
echo "Total Hours: " . number_format($totalHours, 2);
?>
use chrono::NaiveDate;
fn calculate_total_hours(start_date: &str, end_date: &str, daily_hours: f64) -> f64 {
let start = NaiveDate::parse_from_str(start_date, "%Y-%m-%d").unwrap();
let end = NaiveDate::parse_from_str(end_date, "%Y-%m-%d").unwrap();
let days = (end - start).num_days() + 1;
days as f64 * daily_hours
}
fn main() {
let start_date = "2023-01-01";
let end_date = "2023-01-10";
let daily_hours = 8.0;
let total_hours = calculate_total_hours(start_date, end_date, daily_hours);
println!("Total Hours: {:.2}", total_hours);
}
using System;
class HourCalculator
{
static double CalculateTotalHours(DateTime startDate, DateTime endDate, double dailyHours)
{
int days = (endDate - startDate).Days + 1;
return days * dailyHours;
}
static void Main()
{
DateTime startDate = new DateTime(2023, 1, 1);
DateTime endDate = new DateTime(2023, 1, 10);
double dailyHours = 8.0;
double totalHours = CalculateTotalHours(startDate, endDate, dailyHours);
Console.WriteLine($"Total Hours: {totalHours:F2}");
}
}
package main
import (
"fmt"
"time"
)
func calculateTotalHours(startDate, endDate string, dailyHours float64) float64 {
start, _ := time.Parse("2006-01-02", startDate)
end, _ := time.Parse("2006-01-02", endDate)
days := end.Sub(start).Hours()/24 + 1
return days * dailyHours
}
func main() {
startDate := "2023-01-01"
endDate := "2023-01-10"
dailyHours := 8.0
totalHours := calculateTotalHours(startDate, endDate, dailyHours)
fmt.Printf("Total Hours: %.2f\n", totalHours)
}
import Foundation
func calculateTotalHours(startDate: String, endDate: String, dailyHours: Double) -> Double {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
guard let start = dateFormatter.date(from: startDate),
let end = dateFormatter.date(from: endDate) else {
return 0
}
let days = Calendar.current.dateComponents([.day], from: start, to: end).day! + 1
return Double(days) * dailyHours
}
// Example usage:
let startDate = "2023-01-01"
let endDate = "2023-01-10"
let dailyHours = 8.0
let totalHours = calculateTotalHours(startDate: startDate, endDate: endDate, dailyHours: dailyHours)
print(String(format: "Total Hours: %.2f", totalHours))
-- SQL function to calculate total hours
CREATE FUNCTION calculate_total_hours(
start_date DATE,
end_date DATE,
daily_hours DECIMAL(5,2)
) RETURNS DECIMAL(10,2) AS $$
BEGIN
RETURN (end_date - start_date + 1) * daily_hours;
END;
$$ LANGUAGE plpgsql;
-- Example usage:
SELECT calculate_total_hours('2023-01-01', '2023-01-10', 8.0) AS total_hours;