欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

xorm-创建时间created

程序员文章站 2022-04-28 14:13:10
```go package main import ( "fmt" _ "github.com/go sql driver/mysql" "github.com/go xorm/xorm" "log" "time" ) var engine xorm.Engine type User struct ......

package main

import (
    "fmt"
    _ "github.com/go-sql-driver/mysql"
    "github.com/go-xorm/xorm"
    "log"
    "time"
)

var engine *xorm.engine



type user struct {
    name string `xorm:"varchar(25) 'usr_name'"`
    id   int    `xorm:"pk 'id' autoincr"`
    createdat time.time `xorm:"created"`
}

type user1 struct {
    id   int    `xorm:"pk 'id' autoincr"`
    name string `xorm:"varchar(25) 'usr_name'"`
    createdat int64 `xorm:"created"`
}



func main() {
    var err error
    engine, err = xorm.newengine("mysql", "root:123456@/test")
    if err != nil {
        log.fatal(err)
        return
    }



    err = engine.createtables(user{})
    if err != nil {
        log.fatal(err)
        return
    }

    err = engine.createtables(user1{})
    if err != nil {
        log.fatal(err)
        return
    }



    /*在insert()或insertone()方法被调用时,
    created标记的字段将会被自动更新为当前时间或者当前时间的秒数(对应为time.unix()),如下所示:*/
    var user user
    user.name="username"
    _, err = engine.insert(&user)
    if err!=nil{
        log.fatal(err)
        return
    }
    fmt.println("本地时区该数据建立时间:",user.createdat)

    var user1 user1
    user1.name="user1name"
    _, err =engine.insert(&user1)
    if err!=nil{
        log.fatal(err)
        return
    }
    fmt.println("本地时区该数据建立时间:",user1.createdat)



    /*  默认xorm采用local时区,所以默认调用的time.now()会先被转换成对应的时区*/
    engine.tzlocation, _ = time.loadlocation("est")//美国东部时间

    var u user
    u.name="username"
    _, err = engine.insert(&u)
    if err!=nil{
        log.fatal(err)
        return
    }
    fmt.println("美国西五区时间该数据建立时间:",u.createdat)

    var u1 user1
    u1.name="user1name"
    _, err =engine.insert(&u1)
    if err!=nil{
        log.fatal(err)
        return
    }
    fmt.println("美国西五区时间该数据建立时间:",u1.createdat)



    /*  第一次输出:
            本地时区该数据建立时间: 2019-05-25 17:43:13.745542 +0800 cst
            本地时区该数据建立时间: 1558777393
            美国西五区时间该数据建立时间: 2019-05-25 04:43:13.749684 -0500 est
            美国西五区时间该数据建立时间: 1558777393


        第二次输出:
            本地时区该数据建立时间: 2019-05-25 17:43:48.537048 +0800 cst
            本地时区该数据建立时间: 1558777428
            美国西五区时间该数据建立时间: 2019-05-25 04:43:48.539141 -0500 est
            美国西五区时间该数据建立时间: 1558777428

    */


}