精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产特级淫片高清视频| 97香蕉超级碰碰久久免费软件| jizzjizzxxxx| av色图一区| 国产一区二区三区国产| 欧美国产日产韩国视频| 91视频在线网站| av在线亚洲一区| 性久久久久久久久久久久| 欧美高清视频一区| 国产女人高潮时对白| 91ph在线| 亚洲色图综合| 欧美日韩激情视频| 成年人免费观看的视频| 天天干天天爽天天操| 日本一不卡视频| 欧美黄网免费在线观看| 男人舔女人下部高潮全视频| 日韩成人视屏| 在线日韩一区二区| 日韩 欧美 视频| 亚洲天天影视| 久久久另类综合| 91视频网页| 天天干天天操天天操| 国产综合精品一区| 最近2019年日本中文免费字幕| 又色又爽又黄18网站| 国产美女久久| 色婷婷综合久色| 国产青草视频在线观看| 日本在线播放| 国产喂奶挤奶一区二区三区| 国产精品久久国产精品| 国产露脸91国语对白| 视频在线观看国产精品| 91爱爱小视频k| 欧美精品久久久久性色| 99精品视频在线观看播放| 国产视频综合在线| 蜜臀视频在线观看| 亚洲精品在线a| 欧美日韩第一区日日骚| 国产精品少妇在线视频| 九色porny丨入口在线| 亚洲男帅同性gay1069| 亚洲日本精品| h视频在线免费| 性欧美18xxxhd| 久久99精品国产| 国产99视频精品免视看7| 日韩网红少妇无码视频香港| 影音先锋日韩精品| 久久视频在线视频| 国产极品美女在线| 欧美超碰在线| 日韩视频免费在线| 乱h高h女3p含苞待放| 999久久久精品国产| 色狠狠av一区二区三区香蕉蜜桃| 欧美黄色高清视频| 北条麻妃国产九九九精品小说| 亚洲色图狂野欧美| 五月天综合视频| 国产欧美日韩视频在线| 伊人av综合网| 蜜桃视频最新网址| 亚洲最新色图| 欧美理论电影在线播放| 国产第一页第二页| 亚洲日韩成人| 日韩av电影在线网| 亚洲视频在线免费播放| 精品亚洲porn| 99国产超薄丝袜足j在线观看| 国产夫妻性生活视频| 国产精品一级在线| 国产一区二区免费在线观看| 天堂资源最新在线| 久久精品亚洲精品国产欧美 | 95精品视频在线| 麻豆精品视频| 91网在线播放| 亚洲精品免费在线观看| www国产免费| 成年男女免费视频网站不卡| 精品国产福利在线| 人妻无码视频一区二区三区| 欧美美女福利视频| 亚洲成**性毛茸茸| 国产人妻大战黑人20p| 国产精品久久久久久麻豆一区软件 | 最新国产一区| 久久久国产精品x99av| 久久久久久久久久一区二区三区 | 男人操女人免费| 免费一区二区三区四区| 欧美mv和日韩mv国产网站| 黑人巨大精品欧美| 91久久电影| 97avcom| 91精东传媒理伦片在线观看| 国产精品一区二区91| 欧美激情视频一区二区三区| 欧美a免费在线| 精品久久久久久久久久ntr影视| 最近中文字幕一区二区| silk一区二区三区精品视频| 亚洲人成电影网站色xx| 久久久久亚洲av片无码下载蜜桃| 玖玖国产精品视频| 成人自拍偷拍| 午夜国产福利在线| 精品久久久一区| 婷婷中文字幕在线观看| 亚洲制服一区| 欧美激情一二区| 亚洲中文字幕一区二区| 91性感美女视频| 国产四区在线观看| 日韩av免费| 精品久久久久久亚洲综合网| 99国产精品无码| 香蕉久久国产| 国产麻豆日韩| 在线观看午夜av| 欧美日韩电影在线| 中文字幕伦理片| 国产美女精品| 国产精品一区视频| 91麻豆一二三四在线| 欧美日韩你懂得| 欧美有码在线观看| 色婷婷激情视频| 成人精品影院| 国产成人久久久| 无码精品视频一区二区三区| 一区二区三区四区在线| 亚洲最大综合网| 国产va免费精品观看精品视频| 久久久久久国产精品| www.久久久久久| 亚洲日本欧美天堂| 久国产精品视频| 日韩在线观看一区| 国产精品久久色| 欧美拍拍视频| 狠狠躁夜夜躁久久躁别揉| 国产一级伦理片| 亚洲精品1234| 国产精品一 二 三| 免费电影视频在线看| 日韩美女天天操| 欧美日韩一级大片| 国产99久久久精品| 成人在线视频一区二区三区| 91精品入口| 国外成人免费在线播放| 日批视频免费播放| 婷婷久久综合九色综合绿巨人 | 在线天堂中文字幕| 久久综合久久综合亚洲| 欧美日韩在线中文| 欧美综合在线视频观看| 国产日韩一区在线| 青青草原av在线| 亚洲国产女人aaa毛片在线| 国内免费精品视频| 国产亚洲一二三区| 五月天激情视频在线观看| 91精品精品| 肥熟一91porny丨九色丨| 91av久久| 亚洲欧美成人网| 影音先锋国产在线| 一区二区三区在线免费视频| 风间由美久久久| 欧美私模裸体表演在线观看| 3d动漫啪啪精品一区二区免费 | 日韩在线精品视频| 国产精品怡红院| 一区二区在线观看视频| 亚洲av成人无码一二三在线观看| 久久精品动漫| 亚洲一区二区三区免费观看| 久久久国产精品入口麻豆| 欧美精品激情在线观看| 亚州男人的天堂| 欧美视频一区二区| 久久亚洲av午夜福利精品一区| 99re视频这里只有精品| 污片在线免费看| 亚洲精品日本| 这里只有精品66| 老汉色老汉首页av亚洲| 国产精品久久激情| 日韩电影免费观看| 一区二区三区国产在线观看| 国产特黄一级片| 欧美性xxxx极品高清hd直播| 欧美88888| 91麻豆免费观看| 爽爽爽在线观看| 在线亚洲一区| 中文字幕一区二区三区乱码| 久久精品论坛| 成人激情视频小说免费下载| 91福利在线尤物| 久久久精品在线观看| 久久久资源网| 亚洲成人激情在线| 国产情侣在线播放| 日本韩国一区二区| 国产精品二区一区二区aⅴ| 国产精品乱码妇女bbbb| 亚洲综合自拍网| 国产高清久久久久| 欧美特级aaa| 性久久久久久| 69sex久久精品国产麻豆| 欧美a级片视频| 欧美日韩最好看的视频| 国内精品麻豆美女在线播放视频| 国产在线精品播放| 日本另类视频| 欧美专区在线视频| aaa在线播放视频| 欧美精品在线观看91| 1区2区3区在线观看| 亚洲免费精彩视频| 亚洲av片一区二区三区| 精品国产一区二区三区久久影院 | 人妻无码一区二区三区免费| 成+人+亚洲+综合天堂| 五月天国产视频| 精品一区二区免费| 精品日韩久久久| 免费人成网站在线观看欧美高清| 欧美极品欧美精品欧美图片| 欧美深夜福利| 国产日本在线播放| 亚洲视频综合| 丰满少妇大力进入| 中文亚洲欧美| 国产特级黄色大片| 亚洲三级国产| 欧美视频第一区| 国产毛片久久| 日本一极黄色片| 日韩专区一卡二卡| 久久综合久久色| 日韩精品亚洲一区| 爱情岛论坛vip永久入口| 三级亚洲高清视频| 无码日韩人妻精品久久蜜桃| 日韩极品在线观看| 亚洲一级片网站| 亚洲成人黄色av| 美国毛片一区二区| www.污污视频| 国产尤物一区二区在线| 日韩久久久久久久久久久| 国产成人av资源| 男人的天堂影院| 91麻豆视频网站| 日本少妇高潮喷水xxxxxxx| 国产日韩精品一区二区三区| 一本在线免费视频| 亚洲男人的天堂在线aⅴ视频| 久久久精品视频免费观看| 亚洲国产一二三| 国产精品午夜影院| 欧美亚洲国产bt| 国产成人精品亚洲精品色欲| 亚洲国产欧美精品| 国产有码在线| 日韩三级影视基地| 182在线视频观看| 国产精品99久久久久久人| 性欧美video另类hd尤物| 91精品国产91久久久久青草| 岛国成人av| 日韩精品最新在线观看| 婷婷激情图片久久| 久久久久久久中文| 日本大胆欧美人术艺术动态| 天天色天天干天天色| av动漫一区二区| 国产一二三av| 亚洲va欧美va天堂v国产综合| 无码人妻久久一区二区三区不卡| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 色网站在线视频| 91蝌蚪porny九色| 国产传媒免费在线观看| 午夜电影网一区| 一级黄色片在线观看| 亚洲国产成人精品女人久久久| 成人h小游戏| 欧美激情第6页| 成人黄色视屏网站| 国产亚洲福利社区| 99精品全国免费观看视频软件| 亚洲熟妇国产熟妇肥婆| 国产在线观看免费一区| 丝袜美腿中文字幕| 亚洲精品一二三四区| 无码人妻丰满熟妇精品区| 日韩欧美电影一二三| 超碰国产在线| 18性欧美xxxⅹ性满足| 欧美日韩黄网站| 亚洲国产精品一区在线观看不卡 | 国产suv精品一区二区四区视频| 欧美日韩亚洲免费| 极品av少妇一区二区| 免费一区二区三区在线观看| 99精品欧美一区二区蜜桃免费| 国产精品视频一区二区在线观看 | 在线观看免费视频一区| 亚洲国产成人91精品| av毛片在线看| 国产视频999| 成人3d精品动漫精品一二三| 青青草精品视频在线| 国产伦精品一区二区三区视频青涩| 中文字幕成人动漫| 黑人极品videos精品欧美裸| 亚洲av少妇一区二区在线观看| 日韩亚洲欧美中文高清在线| 日韩新的三级电影| 噜噜噜噜噜久久久久久91| 亚洲大胆视频| 特黄特色免费视频| 亚洲精品免费视频| 国产乱色精品成人免费视频| 中文字幕综合一区| 456成人影院在线观看| 欧美日韩一区在线视频| 国产精品久久久免费| 在线天堂www在线国语对白| 夜夜精品浪潮av一区二区三区| 国产精品久久久久精| 久久精品91久久香蕉加勒比| 国产91在线播放精品| 天堂一区二区三区| 奇米影视一区二区三区小说| 国产精品久久久久久久av| 欧美在线观看视频一区二区三区| 欧美女子与性| 国产精品国产亚洲伊人久久| 精品久久久久久久| 国产又黄又猛又粗| 国产精品久久久久一区二区三区共| 中文字幕在线观看高清| 久久精品国产69国产精品亚洲| 日韩成人综合网站| 黄色特一级视频| 成人三级在线视频| 西西44rtwww国产精品| 亚洲人成啪啪网站| 素人啪啪色综合| 日本在线视频www色| 国产99精品视频| 日本在线视频免费| 亚洲精品永久免费精品| 欧美性片在线观看| 国产日韩视频在线播放| 夫妻av一区二区| 国产无遮挡呻吟娇喘视频| 国产亚洲欧美另类中文| 国产激情欧美| 国产女人18毛片| av亚洲精华国产精华| 亚洲 欧美 中文字幕| www.日韩.com| 日本免费一区二区三区视频| 精品少妇人妻av免费久久洗澡| xfplay精品久久| 国产精品一区二区黑人巨大| 欧美国产乱视频| 国产精品欧美三级在线观看| 天天操狠狠操夜夜操| 亚洲h在线观看| 国产高清美女一级毛片久久| 成人高h视频在线| 一区二区日韩免费看| 亚洲一区视频在线播放| 日韩一区二区三区视频在线| 激情国产在线| 杨幂一区欧美专区| av一区二区久久| 在线免费观看一级片| 国模视频一区二区三区| 青草国产精品| 男女一区二区三区| 欧美日韩高清不卡| 欧美18—19sex性hd| 成人在线观看毛片|