Extract parse date func
This commit is contained in:
43
main.go
43
main.go
@@ -206,13 +206,10 @@ func extractDateFromEXIF(path string) *time.Time {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
// Парсим дату в формате EXIF: "2006:01:02 15:04:05"
|
date := parseDateTime(dateStr)
|
||||||
date, err := time.Parse("2006:01:02 15:04:05", dateStr)
|
if date != nil {
|
||||||
if err != nil {
|
return date
|
||||||
continue
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return &date
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@@ -253,19 +250,9 @@ func extractDateFromExifTool(path string) *time.Time {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
// Пытаемся парсить различные форматы дат
|
date := parseDateTime(dateStr)
|
||||||
formats := []string{
|
if date != nil {
|
||||||
"2006:01:02 15:04:05",
|
return date
|
||||||
"2006-01-02 15:04:05",
|
|
||||||
"2006:01:02 15:04:05-07:00",
|
|
||||||
"2006-01-02T15:04:05Z",
|
|
||||||
"2006-01-02T15:04:05-07:00",
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, format := range formats {
|
|
||||||
if date, err := time.Parse(format, dateStr); err == nil {
|
|
||||||
return &date
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -344,6 +331,24 @@ func calculateFileHash(path string) (string, error) {
|
|||||||
return hash, nil
|
return hash, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func parseDateTime(dateStr string) *time.Time {
|
||||||
|
formats := []string{
|
||||||
|
"2006:01:02 15:04:05",
|
||||||
|
"2006:01:02 15:04:05-07:00",
|
||||||
|
"2006-01-02 15:04:05",
|
||||||
|
"2006-01-02T15:04:05Z",
|
||||||
|
"2006-01-02T15:04:05-07:00",
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, format := range formats {
|
||||||
|
if date, err := time.Parse(format, dateStr); err == nil {
|
||||||
|
return &date
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func moveFile(fileInfo *FileInfo, destPath string) error {
|
func moveFile(fileInfo *FileInfo, destPath string) error {
|
||||||
// Создаем директорию назначения, если она не существует
|
// Создаем директорию назначения, если она не существует
|
||||||
destDir := filepath.Dir(destPath)
|
destDir := filepath.Dir(destPath)
|
||||||
|
Reference in New Issue
Block a user