khaled moazedi
khaled moazedi
خواندن ۲ دقیقه·۲ سال پیش

time in golang

سلام ! امیدوارم حالتون زیاد بد نباشه!
از وقتی جادی رو گرفتن انگار واقعا فهمیدم شوخی نیست! به یاد جادی ! بهترین و دوست داشتنی ترین تکنولوژیست ایران و برای آزادیش و سلامتیش #مهساـامینی:


خب قاعدتا ما با زمان کار داریم تو هر زبانی تو ی گو هم همینطور : چند تا نکته در مورد استفاده از زمان :


برای نمایش زمان الان من اینکارو میکنم : با دستور time.Now

package main import ( &quotfmt&quot &quottime&quot ) func main() { currentTime := time.Now() fmt.Println(&quotThe time is&quot, currentTime) }

خروجی این تیکه کد قاعدتا چون هر دفعه زمان همون لحظه رو میخونه و چاپ میکنه هر دفعه با دفعه ی پیش فرق داره یه m= توی نتیجه هست غیر از زمان که یه عدد رو نشون میده کوچیکتر از یک ! این ساعت مونوتکنیکه که برای خطاهای احتمالی در نظر گرفته شده تا دقت زمان بیشتر باشه ! زیاد بهش توجه نکنیم بهتره ! اگه اما خواستیم بیشتر راجع بهش بدونیم بریم اینجا

حالا همون تیکه کد بالا ! رو با یه سری متد ها امتحان کنیم که بجای کل زمان فقط سال رو فقط ساعت رو دقیقه رو یا ماه رو بهمون نشون بده

func main() { currentTime := time.Now() fmt.Println(&quotThe time is&quot, currentTime) fmt.Println(&quotThe year is&quot, currentTime.Year()) fmt.Println(&quotThe month is&quot, currentTime.Month()) fmt.Println(&quotThe day is&quot, currentTime.Day()) fmt.Println(&quotThe hour is&quot, currentTime.Hour()) fmt.Println(&quotThe minute is&quot, currentTime.Hour()) fmt.Println(&quotThe second is&quot, currentTime.Second()) }

توجه کنید که وقتی از متد time.Month() استفاده میکنید خروجی string هست و بشکل نام ماه مثلا : August

ر و اگه بصورت تایپ type توی متد print بیاریمشون بازهم به شکل اول پرینت خواهند شد :

fmt.Printf(&quot%d.%d,%d.%d:%d:%d:%d\n
currentTime.Year(),
currentTime.Month(),
currentTime.Day(),
currentTime.Hour(),
currentTime.Minute(),
currentTime.Second(),
)

output :

The time is 2021-08-15 14:30:45.0000001 -0500 CDT m=+0.000066626 2021-8-15 14:14:45

: برای اینکه خودمون بخوایم تایمی رو ست بکنیم اینجوری انجام میشه :
...


func main() {
theTime := time.Date(2021, 8, 15, 14, 30, 45, 100, time.Local)
fmt.Println(&quotThe time is&quot, theTime)
}

The time is 2021-08-15 14:30:45.0000001 -0500 CDT <......output

:الان بیشتر چالش خودم مقایسه ی بین زمانها بود که اینجا میارمش :
در این زبان چهار رتا راه برای مقایسه ی زمانها وجود داره :

date1 == date 2 این اگه دوتا تایم کاملا یکی باشن ترو میده

date 1 != date2 اینجا اگه یکی نباشن ترو میده

date1.Before(date2) اگه زمان اول قبل از زمان دوم باشه

date1.After(date2) اگه زمان اول بعد از زمان دوم باشه

فقط یه چیزی !
این دوتا فانکشن ۳ و ۴ اگه زمانها کاملا یکی باشن فالس بر میگردونن



فکر میکنم واسه این دفعه همین چند خط کافیه
take it easy...

timegolangزمانگولنگ
back end developer .. copy writter
شاید از این پست‌ها خوشتان بیاید