最近公司需要每月計算餐補(按工作日,每日15元),然後自己去弄發票。
遂寫個程式幫助自己計算工作日和這個月的全勤餐補。
程式如下(公司的年假比國家的長,所以如果和我不是一家公司的話需要復用還需要自行修改holiday和specialday陣列)。
package main
import (
"os"
"fmt"
"time"
"strconv"
)func printusage()
func caldays(curyear int64,curmonth int64) int64else
}elseelse
}}func isholiday(curdate string) bool
for _,curholiday := range holiday
}return false
}func isspecialday(curdate string) bool
for _,curspecialday := range specialday
}return false
}func calmoney(curyear int64,curmonth int64)else
}elseelse
}loc, _ := time.loadlocation("local")
curtime,_ := time.parseinlocation("2006-01-02 15:04:05",curtimestr,loc)
if ((curtime.weekday() == time.saturday || curtime.weekday() == time.sunday) && !isspecialday(curtimestr[5:10])) || isholiday(curtimestr[5:10])else
workday += 1
}//餐補一天15元
moneyofday := 15
//當月餐補
fmt.printf("total money:%d\n",workday*moneyofday)
}func main()
curmonth,err := strconv.parseint(os.args[1],10,64)
if err != nil
calmoney(curyear,curmonth)
}
執行效果如下:
2月份的工作日和餐補如截圖所示。
服務計算 Go語言實現selpg
3.程式測試 4.參考資料 使用golang開發linux命令列中的selpg io,實現了一系列非平台相關的 io 相關介面和實現,比如提供了對 os 中系統相關的 io 功能的封裝。我們在進行流式讀寫 比如讀寫檔案 時,通常會用到該包。os exec,執行外部命令,它包裝了 os.startpr...
Go語言實現並行分段求和計算
這個例項通過迴圈實現並行的分段求和計算,再把各個子段和加到總和中。通過這個例項可以了解如何實現迴圈並行處理,以及有關的程式設計技巧。但是這個程式是有問題的,因為可能發生變數訪問衝突問題,導致計算結果不正確。這個程式是不穩定的,有時能夠計算出不正確的結果,有時能夠計算出正確結果。程式中的變數sum是共...
Go語言實現Valid Parentheses
write a function called that takes a string of parentheses,and determines if the order of the parentheses is valid.the function should return true if ...