Golang : Loop each day of the current month example
Problem:
You need to get the current month, find out the number of days in the month programmatically and loop through each day to perform certain tasks such as restoring archived data from backups or interpolate data base on historical trend. How to do that?
Solution:
Find out the current month and the number of days in the month with time.Now()
and time.Date()
functions. Once you have determined the number of days in a the current calendar month, use a for loop to loop from day 1 to the end day of the month.
For example:
package main
import (
"fmt"
"time"
)
func main() {
// get the current month
year, month, _ := time.Now().Date()
fmt.Printf("Current month: [%v]\n", month)
// get the number of days of the current month
t := time.Date(year, month+1, 0, 0, 0, 0, 0, time.UTC)
fmt.Printf("Total number of days in [%v], [%v] is [%v]\n", year, month, t.Day())
// loop each day of the month
for day := 1; day <= t.Day(); day++ {
// do whatever you want here ...
fmt.Println(day, month, year)
}
}
Sample output:
Current month: [February]
Total number of days in [2016], [February] is [29]
1 February 2016
2 February 2016
3 February 2016
4 February 2016
5 February 2016
6 February 2016
7 February 2016
8 February 2016
9 February 2016
10 February 2016
11 February 2016
12 February 2016
13 February 2016
14 February 2016
15 February 2016
16 February 2016
17 February 2016
18 February 2016
19 February 2016
20 February 2016
21 February 2016
22 February 2016
23 February 2016
24 February 2016
25 February 2016
26 February 2016
27 February 2016
28 February 2016
29 February 2016
Happy Coding!
References:
https://groups.google.com/forum/#!topic/golang-nuts/Hxdo-iLGp2Q
https://socketloop.com/tutorials/golang-how-to-get-year-month-and-day
See also : Golang : Calculate elapsed years or months since a date
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+5.5k Swift : Get substring with rangeOfString() function example
+8.6k Golang : GMail API create and send draft with simple upload attachment example
+22.9k Golang : Get ASCII code from a key press(cross-platform) example
+3.1k Golang : Fix go-cron set time not working issue
+10.6k Golang : Natural string sorting example
+14k Android Studio : Use image as AlertDialog title with custom layout example
+9.4k Golang : Copy map(hash table) example
+15.4k Golang : Get digits from integer before and after given position example
+11.1k Golang : How to flush a channel before the end of program?
+15.6k Golang : Update database with GORM example