[]
대부분의 함수에서는 날짜 인수를 DateTime 객체로 지정할 수 있습니다. 예를 들어, DATE(2003,7,4) 함수의 결과처럼 DateTime 객체를 사용할 수 있고, TIME(12,0,0) 함수의 결과처럼 TimeSpan 객체를 사용할 수 있습니다. Excel과의 호환성을 위해 날짜는 숫자(예: 37806.5)나 문자열(예: "7/4/2003 12:00")로도 지정할 수 있습니다. 숫자와 문자열은 DateTime 클래스의 인스턴스로 변환됩니다.
날짜가 숫자 값으로 표현될 때는 x.y 형태로 나타나며, 여기서 x는 "1899년 12월 30일부터의 날짜 수"를 나타내고, y는 날짜의 분수를 나타냅니다. 왼쪽의 숫자는 날짜를 나타냅니다. 시간은 0에서 0.99999999까지의 십진수 분수로 표현되며, 이는 0:00:00 (12:00 A.M.)에서 23:59:59 (11:59 P.M.)까지의 시간을 나타냅니다.
다음 세 가지 수식은 동일한 결과를 생성합니다:
YEAR(DATE(2004,8,9))
YEAR(38208)
YEAR("8/9/2004")
엑셀에서는 날짜 범위가 1900년 1월 1일부터 9999년 12월 31일까지이며, .NET 프레임워크에서는 DateTime 클래스의 인스턴스가 0001년 1월 1일부터 9999년 12월 31일까지 범위를 가집니다. SpreadJS에서는 일반적으로 .NET 프레임워크에서 제공하는 더 넓은 범위를 지원합니다. 엑셀 호환성을 위해 몇 가지 경우에서는 함수가 더 작은 범위만 허용하는데, 예를 들어 DATE 함수는 1900년 1월 1일 이후의 날짜만 입력할 수 있습니다.
엑셀과 OLE 자동화는 모두 더블 형식을 사용하여 날짜와 시간을 표현합니다. 이때 더블의 정수 부분은 기준 날짜로부터의 날짜 수를 나타냅니다. 엑셀에서는 기준 날짜로 1900년 1월 1일을 사용하며, 1900년을 윤년으로 취급합니다. 반면 OLE 자동화에서는 이를 수정하여 기준 날짜를 1899년 12월 31일로 설정했습니다. OLE 자동화처럼, 우리 스프레드시트는 1900년을 윤년으로 취급하지 않으며, 따라서 기준 날짜로 1899년 12월 31일을 사용합니다.