精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

PHP轉Go系列 | Carbon 時間處理工具的使用姿勢

開發 前端
時間處理無論是哪一門編程語言都是繞不過的一個話題,我們經常做 PHP 開發的程序員,要想比較順利的學習 Go 語言,最好的方式就是能找到同類型的第三方庫,說白了就是找到熟悉且好用的輪子,因為人的心里總是對自己熟悉的東西感到興奮,對不熟的東西感到恐懼。

大家好,我是碼農先森。

在日常的開發過程中經常會遇到對時間的處理,比如將時間戳進行格式化、獲取昨天或上周或上個月的時間、基于當前時間進行加減等場景的使用。

在 PHP 語言中有一個針對時間處理的原生函數 strtotime,大家都知道這個函數只能滿足基本的使用,如果遇到比較復雜的場景,則處理起來會比較繁瑣。PHP 作為世界上最好的語言,在這個問題面前自然會有大佬出來造輪子,由此就出現了 nesbot/carbon 擴展包。

其實在 Go 語言中也有同樣功能的第三方庫 carbon,我看過介紹文檔后,驚呼到簡直和 PHP 的擴展包長的一摸一樣,看樣子這位 Go 大佬也是從 PHP 轉過去的。這樣的好事直接降低了我們的學習成本,讓我們更加容易上手。

在 php_carbon 目錄下中使用 composer 命令安裝 carbon 包。

[manongsen@root ~]$ pwd
/home/manongsen/workspace/php_to_go/php_carbon
[manongsen@root php_carbon]$ composer require nesbot/carbon

在 go_carbon 目錄下中使用 go mod init 初始化 Go 項目,并且使用 go get 安裝 carbon 庫 。

[manongsen@root ~]$ pwd
/home/manongsen/workspace/php_to_go/go_carbon
[manongsen@root go_carbon]$ go mod init go_carbon
[manongsen@root go_carbon]$ go get github.com/golang-module/carbon/v2

這是初始化完成后的項目結構。

[manongsen@root php_to_go]$ tree -L 2
.
├── README.md
├── go_carbon
│   ├── go.mod
│   ├── go.sum
│   └── main.go
└── php_carbon
    ├── composer.json
    ├── composer.lock
    ├── index.php
    └── vendor

我們先在 PHP 腳本代碼的首行通過函數 date_default_timezone_set 設置時區,再使用 require 加載依賴包。從下面示例代碼中可以看出 Carbon 工具的用法還是比較便捷,比如使用 subDays 和 addDays 函數可以加減天數、使用 diffForHumans 函數能以符合人閱讀習慣的方式輸出等。

此外,還有一些例子中沒有展示的用法,例如獲取當前的季節、獲取本周開始結束時間、時間差的計算、判斷當前的月份、獲取當前是本周的第幾天等等,從官方提供的文檔來看 Carbon 工具用法還是相當的豐富,幾乎可以滿足任意業務場景的使用。

<?php
date_default_timezone_set("Asia/Shanghai");

require 'vendor/autoload.php';

use Carbon\Carbon;

// 獲取當前時間
$now = Carbon::now();
print_r("當前時間 " . $now->toDateTimeString() . "\n");

// 獲取今天時間
$today = Carbon::today();
print_r("今天時間 " . $today->toDateString() . "\n");

// 獲取昨天時間
$yesterday = Carbon::yesterday();
print_r("昨天時間 " . $yesterday->toDateString() . "\n");

// 獲取明天時間
$tomorrow = Carbon::tomorrow();
print_r("明天時間 " . $tomorrow->toDateString() . "\n");

// 3 天前時間
$threeDaysAgo = Carbon::today()->subDays(3);
print_r("3天前時間 " . $threeDaysAgo->toDateString(). "\n");

// 7 天前時間
$sevenDaysAgo = Carbon::today()->subDays(7);
print_r("7天前時間 " . $sevenDaysAgo->toDateString(). "\n");

// 符合人閱讀習慣的時間輸出
Carbon::setLocale('zh');

// 1個小時前
$anHourAgo = Carbon::now()->subHours(1)->diffForHumans();
print_r($anHourAgo. "\n");

// 1天前
$oneDayAgo = Carbon::now()->subDays(1)->diffForHumans();
print_r($oneDayAgo. "\n");           

// 1個月前
$oneMonthAgo = Carbon::now()->subMonth()->diffForHumans();
print_r($oneMonthAgo. "\n");

執行 php index.php 命令便可輸出上述示例代碼的結果。

[manongsen@root php_carbon]$ php index.php 
當前時間 2024-06-27 22:23:11
今天時間 2024-06-27
昨天時間 2024-06-26
明天時間 2024-06-28
3天前時間 2024-06-24
7天前時間 2024-06-20
1小時前
1天前
1個月前

同樣在 Go 中的使用方式與 PHP 類似,但包的導入是用 import 關鍵詞。如果原來對 PHP 的 Carbon 工具使用很熟練的話,那么轉到 Go 來也會很容易理解,說是零門檻的學習成本也不為過。

package main

import (
 "fmt"

 "gitee.com/golang-module/carbon/v2"
)

func main() {
 // 當前時間
 now := carbon.Now().String()
 fmt.Printf("當前時間 %v\n", now)

 // 獲取今天時間
 today := carbon.Now().ToDateString()
 fmt.Printf("今天時間 %v\n", today)

 // 獲取昨天時間
 yesterday := carbon.Yesterday().ToDateString()
 fmt.Printf("昨天時間 %v\n", yesterday)

 // 獲取明天時間
 tomorrow := carbon.Tomorrow().ToDateString()
 fmt.Printf("明天時間 %v\n", tomorrow)

 // 3天前時間
 threeDaysAgo := carbon.Now().SubDays(3).ToDateString()
 fmt.Printf("3天前時間 %v\n", threeDaysAgo)

 // 7天前時間
 sevenDaysAgo := carbon.Now().SubDays(7).ToDateString()
 fmt.Printf("7天前時間 %v\n", sevenDaysAgo)

 // 對人類友好的可讀格式時間格式
 lang := carbon.NewLanguage()
 lang.SetLocale("zh-CN")
 c := carbon.SetLanguage(lang)
 if c.Error != nil {
  // 錯誤處理
  fmt.Printf("err: %v\n", c.Error)
  return
 }

 // 1個小時前
 anHourAgo := c.Now().SubHours(1).DiffForHumans()
 fmt.Printf("%v\n", anHourAgo)

 // 1天前
 oneDayAgo := c.Now().SubDays(1).DiffForHumans()
 fmt.Printf("%v\n", oneDayAgo)

 // 1個月前
 oneMonthAgo := c.Now().SubMonths(1).DiffForHumans()
 fmt.Printf("%v\n", oneMonthAgo)
}

執行 go run main.go 命令便可輸出上述示例代碼的結果。從輸出的結果來看,與 PHP 輸出是一樣的并無差異。

[manongsen@root go_carbon]$ go run main.go 
當前時間 2024-06-27 21:25:29
今天時間 2024-06-27
昨天時間 2024-06-26
明天時間 2024-06-28
3天前時間 2024-06-24
7天前時間 2024-06-20
1 小時前
1 天前
1 個月前

時間處理無論是哪一門編程語言都是繞不過的一個話題,我們經常做 PHP 開發的程序員,要想比較順利的學習 Go 語言,最好的方式就是能找到同類型的第三方庫,說白了就是找到熟悉且好用的輪子,因為人的心里總是對自己熟悉的東西感到興奮,對不熟的東西感到恐懼。

因此熟悉的東西可以減低我們的學習難度,提振我們學習的自信心。從上面的兩個代碼示例來看,Go 語言的學習難度也不過如此,同時也打破了很多人說 Go 很難學的說法。

最后為了方便大家學習 Carbon 時間處理工具,我把 PHP 中的 nesbot/carbon 和 Go 中的 golang-module/carbon/v2 官方文檔附上。

  • https://carbon.nesbot.com/
  • https://github.com/golang-module/carbon/blob/master/README.cn.md
責任編輯:武曉燕 來源: 碼農先森
相關推薦

2025-09-30 01:20:00

PHPGo定時器

2009-11-26 14:14:06

PHP中文處理工具函數

2023-02-24 07:48:20

PHPGo服務

2022-12-28 12:11:57

PHPGo框架

2022-07-19 08:01:55

函數Go格式化

2022-12-12 09:42:04

PHPGo框架

2021-07-12 11:35:13

Go協程Goroutine

2010-03-09 19:19:40

Python圖像處理

2023-09-04 13:26:27

PHP開發工具

2024-02-06 14:05:00

Go中間件框架

2024-02-26 00:02:00

開發Go

2015-08-14 09:21:09

gdb工具調試 Go

2024-10-21 09:06:15

2017-02-23 15:37:44

OptionObject容器

2009-12-10 14:27:21

PHP處理Word轉P

2021-12-02 09:36:23

大數據工具數據分析

2021-12-01 23:16:44

工具數據處理

2015-07-13 11:32:09

PHP程序員正確姿勢

2022-08-31 09:52:19

Python圖像處理

2024-01-19 07:39:25

Go日期開發
點贊
收藏

51CTO技術棧公眾號

av片免费播放| 最新黄色av网址| 黑人巨大亚洲一区二区久 | 热久久这里只有| 在线观看亚洲大片短视频| 国产精品一区二区精品| 狠狠干狠狠久久| 中文字幕不卡每日更新1区2区| 亚洲AV无码乱码国产精品牛牛 | 亚洲高清免费视频| 国产精品日韩一区二区三区 | 91精品久久久久久蜜臀| av网站大全免费| 搞黄视频在线观看| 国产成人免费视频网站高清观看视频 | 狠狠综合久久| 亚洲性日韩精品一区二区| 中文字幕在线视频一区二区三区 | 国产精品美女www| 妺妺窝人体色www婷婷| 日本一区二区高清不卡| 亚洲国产另类久久精品| 欧美性猛交xxxx乱大交91| 美脚恋feet久草欧美| 一区二区在线免费观看| 视频在线精品一区| 亚洲 小说区 图片区 都市| 激情亚洲综合在线| 国产精品2018| 日韩福利片在线观看| 亚洲人体av| 综合国产在线视频| 加勒比一区二区| 国产精品中文字幕制服诱惑| 777色狠狠一区二区三区| 免费男同深夜夜行网站 | 亚洲资源在线观看| 综合色婷婷一区二区亚洲欧美国产| 欧美日韩激情视频一区二区三区| 成人深夜视频在线观看| 91情侣偷在线精品国产| 亚洲视频一区二区三区四区| 久久久精品性| 97av在线视频免费播放| 国产午夜久久久| 欧美激情视频一区二区三区在线播放| 中文字幕亚洲精品| 免费看黄色av| 国产一区二区精品福利地址| 亚洲精选一区二区| 麻豆国产精品一区| 日本一区福利在线| 亚洲激情在线观看| 精品人妻伦一二三区久| 99精品国产一区二区三区2021| 欧美一级久久久| 日韩高清在线一区二区| 国产成年精品| 日韩午夜激情视频| 性生交大片免费看l| 网站一区二区| 亚洲第一黄色网| 99久久人妻精品免费二区| 久久久久观看| 亚洲美女中文字幕| 久久久视频6r| 天天av综合| 欧美成人黑人xx视频免费观看| 欧美一区二区三区爽爽爽| 一区二区三区在线电影| 欧美激情精品久久久久久变态| 国产黄色片在线免费观看| 黑丝一区二区三区| 午夜精品久久久久久久99黑人| 国产手机在线视频| 亚洲女优在线| 国产欧美va欧美va香蕉在线| 91肉色超薄丝袜脚交一区二区| 国产伦理精品不卡| 国产精品美女黄网| 国内精品在线视频| 中文字幕一区二区5566日韩| 成人高清dvd| 2001个疯子在线观看| 日韩欧美成人网| 日本三级黄色网址| 一区二区三区在线免费看| 精品国产一区二区国模嫣然| 国产艳俗歌舞表演hd| 日韩精品二区| 欧美激情第一页xxx| 欧美性猛交bbbbb精品| 麻豆久久久久久久| 国产精品青青草| 在线观看二区| 亚洲综合色区另类av| 一区二区传媒有限公司| 福利一区二区三区视频在线观看 | www.日本久久| 日韩在线麻豆| 色婷婷**av毛片一区| 动漫精品一区一码二码三码四码| 久久久国产精品一区二区中文| 成人黄色av网站| 天天操天天射天天| 中文字幕视频一区二区三区久| 男的插女的下面视频| 韩国久久久久久| 91精品在线一区二区| 先锋资源av在线| 婷婷亚洲最大| 国产成人福利视频| 亚洲精品18在线观看| 亚洲国产激情av| 欧美变态另类刺激| 亚洲电影一区| 日韩在线激情视频| 丰满人妻老熟妇伦人精品| 国产一区二区美女诱惑| 欧美一区亚洲二区| av中文在线资源库| 欧美一区日韩一区| jizz中文字幕| 免费久久99精品国产自在现线| av成人午夜| 九义人在线观看完整免费版电视剧| 欧美午夜视频在线观看| 稀缺小u女呦精品呦| 亚洲精品成人| 成人黄色片网站| 高清国产福利在线观看| 懂色aⅴ精品一区二区三区蜜月| 日韩a一级欧美一级| 成人嘿咻视频免费看| 欧美一级高清免费| 少妇喷水在线观看| 亚洲午夜久久久久久久久电影网| 国产大片一区二区三区| 亚洲成av人电影| 成人黄色免费看| 老司机午夜在线| 欧美日韩国产一级二级| 日本美女xxx| 日韩中文字幕亚洲一区二区va在线 | 国产中文字幕二区| 成人三级av在线| 性欧美激情精品| 色网站免费观看| 午夜精品福利一区二区三区av| 亚洲欧美一区二区三区不卡| 中文无码久久精品| 91精品国产99久久久久久红楼| 国产福利视频在线观看| 欧美一区二区三区不卡| 精品一区在线观看视频| 国产精品一区在线观看你懂的| 亚洲欧美日韩综合一区| 久久亚洲人体| 久久精品这里热有精品| 国产精品久久久久久久免费看| 亚洲丝袜另类动漫二区| 少妇性l交大片7724com| 好看的日韩av电影| 久久精品五月婷婷| 三级成人在线| 色七七影院综合| 性生活视频软件| 激情亚洲一区二区三区四区| 亚洲精品乱码久久久久久久| 老司机一区二区三区| 色中色综合成人| www.成人| 久久免费视频观看| 十八禁一区二区三区| 狠狠干狠狠久久| 99热99这里只有精品| 福利视频网站一区二区三区| 无码aⅴ精品一区二区三区浪潮| 激情五月综合网| 成人黄色免费片| bbw在线视频| 亚洲男人天天操| 国产精品主播一区二区| 精品人伦一区二区三区蜜桃免费| 久久久久久久久久久久| 精品亚洲aⅴ乱码一区二区三区| 激情五月婷婷六月| 综合亚洲自拍| 亚洲一区二区免费在线| 草草在线视频| 日韩中文在线中文网三级| 免费国产羞羞网站视频| 欧美在线播放高清精品| 日韩一级片av| 久久久久国产成人精品亚洲午夜| 欧美专区第二页| 母乳一区在线观看| 日本女人高潮视频| 最新国产一区| 国产91视觉| 国产亚洲欧美日韩精品一区二区三区 | 欧美成人国产精品一区二区| 国产精品99久久久久久久女警| 欧美 日韩精品| 欧美福利一区| 亚洲欧洲在线一区| 日韩理论电影中文字幕| 91免费看网站| 福利精品在线| 日韩美女免费视频| 色av手机在线| 色婷婷av一区二区三区在线观看| 神马久久精品| 欧美成人女星排名| 一卡二卡三卡在线观看| 日韩欧美大尺度| 日韩欧美国产亚洲| 亚洲视频 欧洲视频| 中文字幕国产专区| 国产麻豆精品久久一二三| 国产又大又硬又粗| 在线成人黄色| 米仓穗香在线观看| 国产精品99久久| 神马影院午夜我不卡影院| 全国精品免费看| 国产一区二区三区黄| 在线观看视频一区二区三区| 成人黄色网免费| 激情久久一区二区| 奇米成人av国产一区二区三区| 福利网站在线观看| 久久成人精品电影| 最新国产露脸在线观看| 久久精品最新地址| av男人的天堂在线| 亚洲一二在线观看| 韩国福利在线| 国产一区二区激情| 黄色av网址在线免费观看| 亚洲第一精品久久忘忧草社区| 国产美女三级无套内谢| 欧美午夜片在线观看| 老熟妇一区二区三区| 色婷婷av久久久久久久| 久久久黄色大片| 色综合久久九月婷婷色综合| 6080午夜伦理| 在线亚洲欧美专区二区| 精品人妻一区二区三区潮喷在线 | 91中文字幕在线播放| 欧美日韩免费不卡视频一区二区三区 | 丰满少妇一区二区三区| 91在线视频观看| 加勒比一区二区| 中文字幕乱码日本亚洲一区二区| 亚洲一二三精品| 亚洲欧洲日产国产综合网| 2018天天弄| 精品国产91久久久久久老师| 天堂中文字幕在线观看| 日韩欧美亚洲一二三区| 精品久久久久久久久久久国产字幕 | 日韩区一区二| 国产女人水真多18毛片18精品| 精品午夜电影| 欧美日韩精品免费观看| 日韩av自拍| 97久久国产亚洲精品超碰热| 在线亚洲成人| 日本美女高潮视频| 国产一区在线观看麻豆| 日韩精品人妻中文字幕有码| 91一区二区三区在线观看| 亚欧洲乱码视频| 亚洲丝袜另类动漫二区| 国产无遮无挡120秒| 欧美亚洲日本国产| 99久久夜色精品国产亚洲| 亚洲精品videossex少妇| 波多野结衣在线影院| 欧美俄罗斯乱妇| 日韩精品专区| 91久久国产自产拍夜夜嗨| 日本中文字幕伦在线观看| 欧美人伦禁忌dvd放荡欲情| 国产婷婷在线视频| 精品福利在线导航| 激情小视频在线| 久久国产精品电影| 欧美日韩123区| 亚洲一区二区三区777| 欧美日韩一本| 影音先锋亚洲视频| 一本色道久久综合亚洲精品不卡| 在线观看av日韩| 成人avav在线| 97精品在线播放| 欧美视频裸体精品| 91资源在线视频| 亚洲欧美制服第一页| 在线中文字幕第一页| 国产不卡视频在线| 一区二区三区视频播放| 五月婷婷一区| 国产亚洲永久域名| 亚洲制服在线观看| 欧美激情综合在线| 超碰超碰超碰超碰| 日韩亚洲欧美成人一区| 91在线看片| 青青久久av北条麻妃黑人| 亚洲电影一区| 中文字幕第一页亚洲| 日韩av电影一区| 欧美性xxxx图片| 一区二区三区久久久| 依依成人在线视频| 亚洲精品影视在线观看| 欧美四级在线| 91夜夜未满十八勿入爽爽影院| 青青草国产成人a∨下载安卓| 自慰无码一区二区三区| 国产东北露脸精品视频| 日韩欧美国产成人精品免费| 日本高清视频一区二区| 亚洲av片在线观看| 欧美激情第一页xxx| 日韩精品一区二区三区中文在线| 亚洲永久激情精品| 青青草伊人久久| 国产在线综合视频| 欧美小视频在线观看| 亚洲av成人精品毛片| 性色av一区二区三区免费| 美女精品久久| 精品91一区二区三区| 精品一区二区久久| 国产又粗又猛又爽又黄的视频四季| 色婷婷精品久久二区二区蜜臀av| 日韩一二三四| 91av国产在线| 亚洲ab电影| 欧美视频第三页| 久久久久久影视| 国产又粗又猛又黄视频| 国产亚洲欧美一区| 日本在线视频一区二区| 亚洲欧洲国产日韩精品| 欧美aⅴ一区二区三区视频| 国产精品久久久久久久av| 欧美最新大片在线看| 在线看免费av| 91亚洲精品视频| 在线日本成人| 99re久久精品国产| 欧美性生活大片免费观看网址| 激情在线视频| 成人精品一区二区三区电影免费| 99国产**精品****| 爱情岛论坛亚洲自拍| 亚洲最快最全在线视频| 色呦呦中文字幕| 57pao成人永久免费视频| 免费久久久久久久久| 在线黄色免费观看| 一区二区中文字幕在线| 国产黄色一级大片| 97人人模人人爽人人喊中文字 | 精品视频第一区| 久久国产福利| 欧美视频一区二区在线| 日韩女优av电影| 色多多在线观看| 亚洲精品中字| 国产做a爰片久久毛片| 久久久精品91| 亚洲天堂av在线播放| 欧美xxxx性| 国产成人艳妇aa视频在线| 久久久久久亚洲综合| 国产一区二区在线视频观看| 欧美黄色小视频| 国产一区二区三区91| www.51色.com| 好吊成人免视频| 国产理论在线观看| 国产精品一区二| 美女脱光内衣内裤视频久久网站 | 香蕉视频在线播放| 成人91免费视频| 日本a在线天堂| 久久久噜噜噜久噜久久综合| 国产精品久久婷婷| 91精品国产91久久久| 婷婷综合在线| 亚洲黄色小说视频| 欧美mv日韩mv亚洲| 九九久久国产| 国产成人精品视频免费看|