早在公元前一百多年,西藏便有自己的历算法,当时是以月亮的圆、缺、朔、望来计算月份的,运算虽简单,却说明了历算在西藏发展源远流长。
后来,随着汉藏文化的交流与渗透,藏历与汉族地区的农历渐渐靠拢,比如藏历也将一年确定为十二个月,有大月和小月之分,大月三十日,小月二十九日,有闰月之说。
并且藏历纪年也基本和农历的干支纪年法一致,只是用阴阳配合五行木、火、土、金、水来代替天干,即甲为阳木,乙为阴木,丙为阳火,丁为阴火,戊为阳土,己为阴土,庚为阳金,辛为阴金,壬为阳水,癸为阴水;用十二生肖代替地支,没有子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥之说。
藏历中也是60年一轮回,不过不叫“甲子”而称为绕“热迥”,第一绕迥从公元1027年开始,当时农历正是丁卯年,而藏历则称为阴火兔年。
如2009年是农历己丑年,而按藏历算,则称为阴土牛年。
藏历和农历也有些微的差别,首先藏历不是以朔日为初一,而是以月圆的望日固定为十五,所以有时会和农历相差一两天。
其次藏历置闰和农历也不同,所以在闰年有时和农历相差达一个月左右,但年份和农历完全一致。
此外,为配置太阳日与太阴日之日序对应,藏历中安排有重日和缺日,所谓“重日”,直译为多余的日期,就是这个日序(日期)要重复一次。
所谓缺日,就是这个日序(日期)要跳过去,空缺过去。
一般每月有1-2个缺日,一年大概有十四五个缺日,而重日一年最多只有五六个。
既没有重日又没有缺日的月份则被称为“吉祥月”。
与农历比较大的差别是,藏历产生于气候特殊的高原地区,因此为适应当地气候特征也有一些特别的地方,它并没有采用简单的岁月平分法,而是依“日宿”(即太阳所在位置)定点进行推算,将数据与藏族地区各类鸟兽草木变化内容有机地结合起来,以确定节气和划分季节。
所以,藏历虽然也划分了春、夏、秋、冬四季,但同时又根据地域独特的气候特征形成了六季划分法,即:春、后春、夏、秋、冬、后冬。
从整体观察,整个藏区冬季最长,春季次之,秋季再次之,夏季最短;部分高寒地区,甚至无夏季,春、秋二季连接在一起。