What is the origin of numeric dates starting with 6?

The origin could be MUMPS origin date "1840-12-31", the reason for this date is explained in MUMPS Language faq:

27. "What happened in 1841?"

When I decided on specifications for the date routine, I remembered reading of the oldest (one of the oldest?) U.S. citizen, a Civil War veteran, who was 121 years old at the time. Since I wanted to be able to represent dates in a Julian-type form so that age could be easily calculated and to be able to represent any birth date in the numeric range selected, I decided that a starting date in the early 1840s would be 'safe.' Since my algorithm worked most logically when every fourth year was a leap year, the first year was taken as 1841. The zero point was then December 30, 1840...

That's the origin of December 31, 1840 or January 1, 1841. I wasn't party to the MDC negotiations, but I did explain the logic of my choice to members of the Committee.

Wikipedia System time:

Language/Application    Function or variable    Resolution  Epoch or range
MUMPS                   $H (short for $HOROLOG) 1 s         31 December 1840

Let's test:

df1$xClean <- as.Date(df1$x, origin = "1840-12-31")
df1$xClean > df1$startDate & df1$xClean < df1$endDate
# [1] TRUE TRUE TRUE TRUE

Note: Thanks to @Frank for pointing me to this blogpost which led me to original MUMPS faq. I posted self-answer Q&A for reference, as searching SO and Google didn't yield much.


You found already an answer, but for the fun of it, here a code snippet to automatize this:

library(rvest)
library(tidyverse)
library(magrittr)

df1 <- structure(list(
  startDate = structure(c(9748, 11474, 12204, 12204), class = "Date"),
  endDate = structure(c(16645, 16535, 13376, 15863), class = "Date"),
  x = c(63719L, 63622L, 60448L, 62940L)), 
  row.names = c(NA, -4L), class = "data.frame")

epochs <- read_html("https://en.wikipedia.org/wiki/Epoch_(computing)") %>%
  html_nodes(xpath = '//*[@id="mw-content-text"]/div/table') %>%
  html_table() %>%
  extract2(1) %>%
  set_names(c("epoch", "users", "rationale")) %>%
  mutate(epoch_date = parse_date(epoch, "%B %d, %Y", locale = locale("en"))) %>%
  filter(!is.na(epoch_date)) 

potential_origins <- map_lgl(epochs$epoch_date,
                             function(origin) {
                               d <- as.Date(df1$x, origin = origin)
                               all(d >= df1$startDate & d <= df1$endDate)
                             })

epochs$users[potential_origins]
# [1] "MUMPS programming language"

Tags:

Date

R