Go语言正则表达式的使用 和 时间日期的函数

正则表达式

概念

  • 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

使用方式

  • 创建正则表达式对象
regx,_ := regexp.Compile("正则表达式的规则")
  • 通过正则对象找到符合的字符串
regx.FindAllString(str string,count int)  --->将找到的符合规定的返回一个新的字符串
  • 案例
package main

import (
    "fmt"
    "regexp"
)

func main() {

    str := "123abcdefghijk123"
    // 找到字符串中的123
    regx,ok := regexp.Compile("123")  // 创建正则表达式规则对象

    str1 := regx.FindAllString(str,-1)  // -1 代表找到所有的

    fmt.Println(ok)

    fmt.Println(str1)  //  str1 = [123 123]

}

时间的获取和时间有关的函数

获取当地的时间

package main

import (
    "fmt"
    "time"
)

func main() {

    now := time.Now()
    
    fmt.Println(now)  // now = 2018-09-29 17:24:32.8458928 +0800 CST m=+0.010000001

}

获取当地时间的年/月/时/分/秒

package main

import (
    "fmt"
    "time"
)

func main() {

    now := time.Now()
    
    year := now.Year()        //获取年
    fmt.Println(year)
    
    year2 := now.YearDay()   //获取这年过了多少天
    fmt.Println(year2)
    
    month := now.Month()     //获取月份
    fmt.Println(month)
    
    day := now.Day()         //获取日
    fmt.Println(day)
    
    hour := now.Hour()       //获取小时
    fmt.Println(hour)
    
    minute := now.Minute()   //获取分
    fmt.Println(minute)
    
    second := now.Second()   //获取秒
    fmt.Println(second)

}

按照指定格式输出时间

package main

import (
    "fmt"
    "time"
)

func main() {

    now := time.Now()

    fmt.Printf("%d年-%d月-%d日  %d:%d:%d\n",now.Year(),now.Month(),now.Day(),now.Hour(),now.Minute(),now.Second())

}
  • 第二种是Go原因规定了一种格式
2006/01/02 15:04:05
  1. 这种格式时固定的可以拆分组合

时间休眠和时间常量

  • 时间常量

    time.Nanosecond  = 1                  // 纳秒
    time.Microsecond = 1000*Nanosecond    // 微秒
    time.Millisecond = 1000*Microsecond   // 毫秒
    time.Second      = 1000*Millisecond   // 秒
    time.Minute      = 60 * second        // 分
    time.Hour        = 60 * minute        // 小时
  • 时间休眠
time.sleep( 休眠的时间 )
  • 时间戳
  • go语言中的时间戳是从1970年1月1日开始计算的
  • Unix: 返回当前时间距离1970年1月1日有多少秒
  • UnixNano: 返回当前时间距离1970年1月1日有多少纳秒
package main

import (
    "fmt"
    "time"
)

func main() {

    fmt.Println(time.Now().Unix())    // 1538215022

    fmt.Println(time.Now().UnixNano())  // 1538215022802896700

}

设置随机因子 结合时间戳使用

package main

import (
    "fmt"
    "math/rand"
    "time"
)

func main() {

    //设计随机因子
    rand.Seed(time.Now().UnixNano())
    //随机生存5以内的任意数
    fmt.Println(rand.Intn(5))

}

你可能感兴趣的:(Go语言正则表达式的使用 和 时间日期的函数)