Golang : Change a file last modified date and time
There are times when we need to perform some operation on a file, but then manually change the last modified and access time of the file.
In this tutorial, we will learn how to change a file last modified time with http://golang.org/pkg/os/#Chtimes function. The Chtimes will require the target filename, atime and mtime.
- atime: time of last access (ls -lu),
- mtime: time of last modification (ls -l)
Below the the code example :
changetime.go
package main
import (
"fmt"
"os"
"time"
)
func main() {
filename := "binary.file"
// get last modified time
file, err := os.Stat(filename)
if err != nil {
fmt.Println(err)
}
modifiedtime := file.ModTime()
fmt.Println("Last modified time : ", modifiedtime)
// get current timestamp
currenttime := time.Now().Local()
fmt.Println("Current time : ", currenttime.Format("2006-01-02 15:04:05 +0800"))
// change both atime and mtime to currenttime
err = os.Chtimes(filename, currenttime, currenttime)
if err != nil {
fmt.Println(err)
}
fmt.Println("Changed the file time information")
}
Result :
localhost:~ admin$ go run changetime.go
Last modified time : 2014-02-12 22:00:18 +0800 MYT <------ original last modified time
Current time : 2014-06-30 14:50:00 +0800
Changed the file time information
localhost:~ admin$ ls -la binary.file
-rwxr-xr-x 1 admin staff 2206048 Jun 30 14:50 binary.file <------- changed to Jun 30
See also : Golang : Get file last modified date and time
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.2k Golang : Decode XML data from RSS feed
+8.8k Golang : GTK Input dialog box examples
+18.1k Golang : Pipe output from one os.Exec(shell command) to another command
+12.2k Golang : Get current time from the Internet time server(ntp) example
+17.9k Golang : Convert seconds to minutes and remainder seconds
+5.2k Golang : Levenshtein distance example
+5.8k Golang : Get all countries phone codes
+4.2k CodeIgniter/PHP : Remove empty lines above RSS or ATOM xml tag
+5.2k Golang : Use modern ciphers only in secure connection
+7.7k Golang : Detect number of faces or vehicles in a photo
+10k Golang : Get absolute path to binary for os.Exec function with exec.LookPath
+5.5k Golang : Scanf function weird error in Windows