func osDiffTime(state *lua.State) int {
	unimplemented("os.difftime")
	return 0
}
os.difftime (t2, t1)

Returns the difference, in seconds, from time t1 to time t2 (where the times are values returned by os.time). In POSIX,
Windows, and some other systems, this value is exactly t2-t1.

See https://www.lua.org/manual/5.3/manual.html#pdf-os.difftime
package os
import (
	"fmt"
	"io/ioutil"
	"os"
	"time"
	"github.com/Azure/golua/lua"
)
func Open(state *lua.State) int {
	var osFuncs = map[string]lua.Func{
		"clock":     lua.Func(osClock),
		"date":      lua.Func(osDate),
		"difftime":  lua.Func(osDiffTime),
		"execute":   lua.Func(osExecute),
		"exit":      lua.Func(osExit),
		"getenv":    lua.Func(osGetEnv),
		"remove":    lua.Func(osRemove),
		"rename":    lua.Func(osRename),
		"setlocale": lua.Func(osSetLocale),
		"time":      lua.Func(osTime),
		"tmpname":   lua.Func(osTmpName),
	}
	state.NewTableSize(0, len(osFuncs))
	state.SetFuncs(osFuncs, 0)
	return 1
}
func osClock(state *lua.State) int {
	state.Push(time.Since(epoch).Seconds())
	return 1
}
func osDate(state *lua.State) int {
	unimplemented("os.date")
	return 0
}