goland Duration 和time的区别说明

time 组成:

time.Duration(时间长度,消耗时间)

time.Time(时间点)

time.C(放时间的channel通道)(注:Time.C:=make(chan time.Time))

补充:golang 日期对比方法

我就废话不多说了,大家还是直接看代码吧~

package main
import (
	"fmt"
	"time"
)

type Unix struct {
	Val int64
}

func main() {
	var u1 = &Unix{}
	var u2 = &Unix{}
	u1.Val = 1562586024 // 2019-07-08 19:40:24
	u2.Val = time.Now().Unix()

	fmt.Println(u1.IsTody())

	fmt.Println(u1.IsSameDay(u2))

	if !u1.IsSameDay(u2) {
		fmt.Println("不相同")
	}else{
		fmt.Println("相同")
	}
	if !u1.IsTody() {
		fmt.Println("不相同")
	}else{
		fmt.Println("相同")
	}
}

func (u *Unix) IsTody() bool {
	tm := time.Unix(u.Val, 0)
	tmToday := time.Now()

	if tmToday.Day() == tm.Day() {
		return true
	}
	return false
}

/**
 * 二个时间戳是否同一天
 * @return true 是 false 不是今天
 */
func (u *Unix) IsSameDay(another *Unix) bool {
	tm := time.Unix(u.Val, 0)
	tmAnother := time.Unix(another.Val, 0)

	if tmAnother.Day() == tm.Day() {
		return true
	}
	return false
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • 解决GOPATH在GOLAND中的坑

    首先我的环境已配置好: GO的目录结构是: add.go package calc //函数名必须大写首字母,不然外部包找不到 func Add(a int,b int)(int){ return a+b } sub.go package calc func Sub(a int,b int)(int){ return a-b } 执行文件,main.go package main import "fmt" //导入包路径,这里src省略,默认加在GOPATH import "

  • Goland 关闭自动移除未使用的包操作

    在Goland中,如果 import 了包,但在代码中没有使用,会自动帮你移除这个包的 引用 有可能是习惯问题,每次写代码都习惯 先import,然后再写调用代码,结果 还没来得及写调用代码,包就被移除了... 还好,可以关闭此功能: 补充:Goland 中import 包没有报错,但是使用包下的方法会报错 Goland 中import 包没有报错,import "github.com/aliyun/aliyun-oss-go-sdk/oss"但是使用包下的方法会报错:oss.New(

  • goland设置控制台折叠效果

    1.快捷键 ctrl(cmd) + shift + A或者Help->Find Action 2.输入Registry,输完记得回车 3.取消go.run.process.with.pty勾选 小知识点:上面图可以直接搜索->直接输入go.run.process就能快速找到 4.完成后的效果图 到此这篇关于goland设置控制台折叠效果的文章就介绍到这了,更多相关goland控制台折叠内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • 在goland中配置gofmt的操作

    Goland是JetBrains公司推出的Go语言IDE,是一款功能强大,使用便捷的产品. 在Goland中,可以通过添加一个File Watcher来在文件发生变化的时候调用gofmt进行代码格式化, 具体方法是,点击Preferences -> Tools -> File Watchers,点加号添加一个go fmt模版,Goland中预置的go fmt模版使用的是go fmt命令,将其替换为gofmt,然后在参数中增加-l -w -s参数,启用代码简化功能. 添加配置后,保存源码时,go

  • 浅谈goland导入自定义包时出错(一招解决问题)

    使用goland编写go语言程序的时候,发现针对自定义的包无法引入. 如下图所示: 具体错误也就是 main.go:13:2: cannot find package "grpool" in any of: 然后就各种在网上查找,大多数也都讲得很不清楚,最后找到一个说的比较详细的链接 //www.jb51.net/article/202148.htm. 但是这个链接也只是启发了我.下面来图形结合的方式讲述我的方法. (1)首先将之前定义的包和包下的文件移至到新定义的目录src下,我的目

  • goland Duration 和time的区别说明

    time 组成: time.Duration(时间长度,消耗时间) time.Time(时间点) time.C(放时间的channel通道)(注:Time.C:=make(chan time.Time)) 补充:golang 日期对比方法 我就废话不多说了,大家还是直接看代码吧~ package main import ( "fmt" "time" ) type Unix struct { Val int64 } func main() { var u1 = &am

  • 详解IDEA社区版(Community)和付费版(UItimate)的区别

    推荐阅读: IntelliJ IDEA 2020最新激活码(亲测有效,可激活至 2089 年) 最新idea2020注册码永久激活(激活到2100年) IntelliJ IDEA 2020.2.3永久破解激活教程(亲测有效) 2020.2 IntelliJ IDEA激活与IDEA2020.2破解详细教程 比对类型 Ultimate(终极版,付费) Community(社区版,免费) 语言支持 Java Java Groovy Groovy Kotlin Kotlin Scala(通过插件) Sc

  • win10下安装Go和Goland的详细教程

    go和golang之间有区别吗? go和golang之间没有区别,go就是golang,全名是golang,简称go语言. Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型.编译型语言.Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算. Go的语法接近C语言,但对于变量的声明有所不同.Go支持垃圾回收功能.Go的并行模型是以东尼·霍尔的

  • GoLand 2020.3 正式发布有不少新功能(支持泛型)

    这是 2020 年第 3 个版本,也是最后一个版本.在 GoLand 2020.3 中,您可以探索 goroutines dumps,运行并导航到单个表测试(table tests),并从对 Testify 测试框架的扩展支持中获得更多信息.你还将发现许多新的代码编辑功能,包括对 time 包的支持,更智能的处理包方法,UI 改进,用于 Web 开发和使用数据库的各种新功能以及用于协作开发和结对编程的新服务.具体看看有哪些新特性. 01 调试器改进 Dump Goroutines 调试器中新的转

  • Golang定时器的2种实现方法与区别

    不得不说,golang的sdk做了太多的东西,定时器在golang里实现起来非常的简单 两种方式 NewTicker() NewTimer() 代码如下 NewTicker() 方式 func foo() { fmt.Println("foo() start.") time.Sleep(time.Second * 3) fmt.Println("foo() end.") } func TestTicker(t *testing.T) { ticker := time

  • goland -sync/atomic原子操作小结

    目录 1.go已经提供了锁,为什么还需要atomic原子操作? 2.atomic原子操作为什么比mutex快? 3.CAS 4.互斥锁与原子操作区别 5.原子操作方法 5.1 atomic.AddInt32--增减 5.2 CAS-atomic.CompareAndSwapInt32--比较并替换 5.3 atomic.StoreInt32--写操作 5.4 atomic.LoadInt32--读操作 5.5 atomic.SwapInt32--直接交换 1.go已经提供了锁,为什么还需要ato

  • jQuery和AngularJS的区别浅析

    最近一直在研究angularjs,最大的感受就是它和之前的jQuery以及基于jQuery的各种库设计理念完全不同,如果不能认识到这点而对于之前做jQuery开发的程序员,去直接学习angularjs的话,很可能学了很久还不知道这个东西能用来干什么以及怎么使用,怎么和UI进行结合等问题,在stackoverflow上找到一篇关于这方面的文章,阅读之后颇有收获,在此基础上将它译成中文,以求抛砖引玉大家一同学习. 原问题:假如我熟悉利用jQuery去开发客户端应用,那么我怎么上手angularjs,

  • Angular中ng-bind和ng-model的区别实例详解

    ng-bind和ng-model的区别 AngularJS的数据绑定有ng-bind和ng-model,一般用于如下: <input ng-model="object.xxx"> <span ng-bind="object.xxx"></span> ng-bind是单向绑定,由作用于$scope到view层,且在HTML控件(HTML控件有:input.select.button和textarea)中不可显示. ng-model是

  • 正则表达式中test、exec、match的区别介绍及括号的用法

    test.exec.match的简单区别 1.test test 返回 Boolean,查找对应的字符串中是否存在模式. var str = "1a1b1c"; var reg = new RegExp("1.", ""); alert(reg.test(str)); // true 2.exec exec 查找并返回当前的匹配结果,并以数组的形式返回. var str = "1a1b1c"; var reg = new Re

  • document.write与writeln的输出内容区别说明

    document.write() //将内容写入文档,当前编辑位置为写入的内容的后一个字符 document.writeln() //将内容写入文档,并添加一个换行符,当前编辑位置为写入的内容的后一行 document.write()和document.writeln都是JavaScript向客户端写入的方法,writeln是以行方式输出的,但并不是指页面实际效果中的换行,两种方法在查看源代码时才看得出区别,除非是输出到pre或xmp元素内 测试一下: with(window.open()){

随机推荐