Функция os.Chtimes
Функция os.Chtimes изменяет время последнего доступа (access time)
и время последней модификации (modification time) указанного файла.
Первый параметр принимает путь к файлу в виде строки, второй и третий -
временные метки типа time.Time для времени доступа и модификации
соответственно. Если передать нулевое значение time.Time,
соответствующая временная метка не изменится.
Синтаксис
os.Chtimes(path, atime, mtime)
Пример
Давайте изменим время доступа и модификации для файла на текущее время:
package main
import (
"fmt"
"os"
"time"
)
func main() {
now := time.Now()
err := os.Chtimes("example.txt", now, now)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("Timestamps updated successfully")
}
Результат выполнения кода:
"Timestamps updated successfully"
Пример
Давайте изменим только время модификации, оставив время доступа без изменений.
Для этого передадим нулевое значение time.Time для времени доступа:
package main
import (
"fmt"
"os"
"time"
)
func main() {
mtime := time.Date(2026, time.January, 1, 0, 0, 0, 0, time.UTC)
err := os.Chtimes("example.txt", time.Time{}, mtime)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("Modification time updated")
}
Результат выполнения кода:
"Modification time updated"
Пример
Давайте попробуем изменить временные метки у несуществующего файла и обработаем ошибку:
package main
import (
"fmt"
"os"
"time"
)
func main() {
now := time.Now()
err := os.Chtimes("nonexistent.txt", now, now)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("Timestamps updated")
}
Результат выполнения кода:
"Error: stat nonexistent.txt: no such file or directory"
Смотрите также
-
функцию
os.Stat,
которая возвращает информацию о файле, включая временные метки -
функцию
os.Chmod,
которая изменяет права доступа к файлу -
функцию
os.Chown,
которая изменяет владельца файла -
функцию
os.Truncate,
которая изменяет размер файла