func (t epochTime) Format(str string) string {
	return time.Time(t).Format(str)
}
Custom json decoder for unix epochs: formatter
package files
import (
	"encoding/json"
	"errors"
	"fmt"
	"github.com/google/uuid"
	"io/ioutil"
	"os"
	"path/filepath"
	"strconv"
	"strings"
	"time"
)
type RMFileInfo struct {
	RelPDFPath   string  
	Identifier   string  
	Version      int     
	VisibleName  string  
	LastModified time.Time
	PageCount    int
	Pages        []RMPage
	UseTemplate  bool  
	Debugging    bool
}
func (r *RMFileInfo) Debug(d string) {
	if r.Debugging {
		fmt.Println(d)
	}
}
type RMPage struct {
	PageNo     int
	Identifier string    
	RelRMPath  string    
	Exists     bool      
	LayerNames []string  
}
type rmMetadataLayer struct {
	Layer string `json:"name"`
}
type rmMetadata struct {
	Layers []rmMetadataLayer `json:"layers"`
}
type content struct {
	FileType    string   `json:fileType`
	Orientation string   `json:orientation`
	Pages       []string `json:pages`
}
type epochTime time.Time
type pdfMetadata struct {
	LastModified epochTime `json:lastmodified`
	Type         string    `json:type`
	Version      int       `json:version`
	VisibleName  string    `json:tpl`
}
func (t *epochTime) UnmarshalJSON(s []byte) (err error) {
	r := strings.Replace(string(s), `"`, ``, -1)
	q, err := strconv.ParseInt(r, 10, 64)
	if err != nil {
		return err
	}
	eT := time.Unix(q/1000, 0)
	// fmt.Printf("eT, %+v | %s\n", eT, string(eT.Format(time.RFC822)))
	*(*time.Time)(t) = eT
	return
}
func (t epochTime) String() string {
	return time.Time(t).String()
}