Работа с временными метками в Go (Golang) с использованием пакета pq

  1. Разбор строки временной метки. Вы можете использовать функцию time.Parseдля анализа строки временной метки в значение Go time.Time. Например:

    timestampStr := "2021-12-21 14:30:00"
    timestamp, err := time.Parse("2006-01-02 15:04:05", timestampStr)
    if err != nil {
       // handle error
    }
  2. Вставка отметки времени в PostgreSQL. Чтобы вставить значение отметки времени в базу данных PostgreSQL с помощью пакета «pq», вы можете использовать заполнители и функцию Exec. Например:

    timestamp := time.Now()
    _, err := db.Exec("INSERT INTO table_name (timestamp_column) VALUES ($1)", timestamp)
    if err != nil {
       // handle error
    }
  3. Получить метку времени из PostgreSQL. Чтобы получить значение метки времени из базы данных PostgreSQL с помощью пакета «pq», вы можете использовать функцию QueryRowи отсканировать результат в переменная time.Time. Например:

    var timestamp time.Time
    err := db.QueryRow("SELECT timestamp_column FROM table_name WHERE id = $1", id).Scan(&timestamp)
    if err != nil {
       // handle error
    }
  4. Форматирование отметки времени. Чтобы отформатировать метку времени в определенном строковом представлении, вы можете использовать функцию time.Format. Например:

    timestamp := time.Now()
    formatted := timestamp.Format("2006-01-02 15:04:05")
  5. Сравнить временные метки. Вы можете сравнить два значения временных меток, используя стандартные операторы сравнения (<, >, ==и т. д.)..). Например:

    timestamp1 := time.Now()
    timestamp2 := time.Now().Add(time.Hour)
    if timestamp1.Before(timestamp2) {
       fmt.Println("timestamp1 is before timestamp2")
    }