zoukankan      html  css  js  c++  java
  • TSINGSEE青犀视频开发中Go语言时间转换分享

    在我们开发视频平台智能分析功能的过程中,系统的时间因素也是需要注意的。在很多实际业务中,需要大量处理视频或者分析结果的时间日期时区数据。我们多用golang来进行编译和开发,因此本文分享一下我们使用go中需要的各种日期和时间的转换。

    1、毫秒转go time.Time类型;注意把毫秒转成纳秒,在转成go time.Time,这样就能取到年月日时分秒

    func MsToTime(ms int64) time.Time {
    	tm := time.Unix(0, ms*int64(time.Millisecond))
    	//fmt.Println(tm.Format("2006-02-01 15:04:05.000"))
    	return tm
    }
    

    2、毫秒转成时间格式,如转:2021-14-14 14:00:00格式;需要注意的是必须为这个参数(”2006-02-01 15:04:05”)

    func MsToTimeStr(ms int64) string {
    	t := MsToTime(ms)
    	return t.Format("2006-02-01 15:04:05")
    }
    

    3、把字符串日期(如:2021-14-14 14:00:00)格式转换成毫秒:

    func ParseTimeStrToTimestamp(timeStr string, flag int) int64 {
    	var t int64
    	loc, _ := time.LoadLocation("Local")//此处必须要,不然转换有问题
    	if flag == 1 {
    		t1, _ := time.ParseInLocation("2006.01.02 15:04:05", timeStr, loc)
    		t = t1.UnixNano() / 1e6
    	} else if flag == 2 {
    		t1, _ := time.ParseInLocation("2006-01-02 15:04", timeStr, loc)
    		t = t1.UnixNano() / 1e6
    	} else if flag == 3 {
    		t1, _ := time.ParseInLocation("2006-01-02", timeStr, loc)
    		t = t1.UnixNano() / 1e6
    	} else if flag == 4 {
    		t1, _ := time.ParseInLocation("2006.01.02", timeStr, loc)
    		t = t1.UnixNano() / 1e6
    	} else {
    		t1, _ := time.ParseInLocation("2006-01-02 15:04:05", timeStr, loc)
    		t = t1.UnixNano() / 1e6
    	}
    	return t
    }
    

    4、获取前一天的日期算法:

    //day参数为负数
    func GetLastYMDH(day int) (y, m, d, h int, timestamp int64) {
    	now := GetCurrentNow()
    	tomorrow := now.AddDate(0, 0, day)
    	//lastTime := GetCurrentMillisecond() + day * 24 * 60 * 60 * 1000
    	//t := MsToTime(lastTime)
    	//Y := t.Year()
    	//M := t.Month()
    	//D := t.Day()
    	//H := t.Hour()
    	Y := tomorrow.Year()
    	M := tomorrow.Month()
    	D := tomorrow.Day()
    	H := tomorrow.Hour()
    	timestamp = tomorrow.UnixNano() / 1e6 //转毫秒
    	return Y, int(M), D, H, timestamp
    }
  • 相关阅读:
    jQuery解析XML
    jQuery常用AJAX-API
    jQuery练习
    jQuery常用Event-API
    jQuery常用Method-API
    jQuery九类选择器
    js对象和jQuery对象的区别
    js对象和jQuery对象相互转换
    jQuery入门
    JSON
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/15394113.html
Copyright © 2011-2022 走看看