def toGPSWeekAndSecs(timestamp=None):
    """Converts the given UTC timestamp (defaults to the current time) to
    a two-tuple, (GPS week number, GPS seconds within the week).
    """
    if timestamp is None:
        timestamp = datetime.datetime.utcnow()

    leap = LeapSeconds.get_GPS_offset_for_date(timestamp)

    secsInWeek = 604800
    delta      = totalSeconds(timestamp - GPS_Epoch) + leap
    seconds    = delta % secsInWeek
    week       = int( math.floor(delta / secsInWeek) )

    return (week, seconds)