func (t Time) Year() int {
	return t.year
}
Year returns the B.S. year value for this date.
package nepcal
import (
	"bytes"
	"errors"
	"fmt"
	"io"
	"time"
)
var ErrOutOfBounds = errors.New("Provided date out of bounds; consult function/method documentation")
type Time struct {
	in time.Time
	year  int
	month Month
	day   int
}
type raw struct {
	year  int
	month Month
	day   int
}
func Now() Time {
	return FromGregorianUnchecked(time.Now())
}
func CalendarNow() io.Reader {
	t := Now()
	return t.Calendar()
}
func FromGregorian(t time.Time) (Time, error) {
	if !IsInRangeGregorian(t) {
		return Time{}, ErrOutOfBounds
	}
	return FromGregorianUnchecked(t), nil
}
func FromGregorianUnchecked(t time.Time) Time {
	return fromGregorian(t)
}
func Date(year int, month Month, day int) (Time, error) {
	if !IsInRangeBS(year, month, day) {
		return Time{}, ErrOutOfBounds
	}
	inraw := raw{year, month, day}
	return fromRaw(inraw), nil
}
func DateUnchecked(year int, month Month, day int) Time {
	inraw := raw{year, month, day}
	return fromRaw(inraw)
}
func (t Time) Gregorian() time.Time {
	return t.in
}
func (t Time) Date() (int, Month, int) {
	return t.Year(), t.Month(), t.Day()
}