Average number of usual weekly hours of work in main job, by sex, professional status, full-time/part-time and occupation (hours) - lfsa_ewhuis

Data - Eurostat

Info

Last observation: 2025 (N = 169886)

First observation: 1983 (N = 13194)

Last data update: 14 aoû 2026, 21:29. Last compile: 18 aoû 2026, 01:46

Structure

France, Germany, Spain, Italy

Usual Weekly Hours, Full-Time Employees

Code
lfsa_ewhuis |>
  filter(geo %in% c("FR", "DE", "ES", "IT"),
         isco08 == "TOTAL",
         wstatus == "EMP",
         worktime == "FT",
         age == "Y15-64",
         sex == "T") |>
  year_to_date() |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = values, color = color)) +
  theme_minimal() + scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1983, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Usual weekly hours, full-time employees")

France

Usual Weekly Hours by Sex, Full-Time Employees

Code
lfsa_ewhuis |>
  filter(geo == "FR",
         isco08 == "TOTAL",
         wstatus == "EMP",
         worktime == "FT",
         age == "Y15-64",
         sex %in% c("M", "F")) |>
  year_to_date() |>
  ggplot() + geom_line(aes(x = date, y = values, color = Sex)) +
  theme_minimal() +
  theme(legend.position = c(0.15, 0.15),
        legend.title = element_blank()) +
  scale_x_date(breaks = as.Date(paste0(seq(1983, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Usual weekly hours, full-time employees")

Full-Time vs. Part-Time, All Employees

Code
lfsa_ewhuis |>
  filter(geo == "FR",
         isco08 == "TOTAL",
         wstatus == "EMP",
         worktime %in% c("FT", "PT"),
         age == "Y15-64",
         sex == "T") |>
  year_to_date() |>
  ggplot() + geom_line(aes(x = date, y = values, color = Worktime)) +
  theme_minimal() +
  theme(legend.position = c(0.75, 0.5),
        legend.title = element_blank()) +
  scale_x_date(breaks = as.Date(paste0(seq(1983, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Usual weekly hours")