Hi Laurens,
I use offten GatherBy and then pick what I need.
Given you data
data = {{{2018, 6, 1}, 14.1}, {{2018, 6, 4}, 13.71}, {{2018, 6, 5},
13.8}, {{2018, 6, 6}, 13.64}, {{2018, 6, 7}, 13.78}, {{2018, 6, 8},
13.93}, {{2018, 6, 11}, 13.98}, {{2018, 6, 12},
13.98}, {{2018, 6, 13}, 13.89}, {{2018, 6, 14},
13.64}, {{2018, 6, 15}, 13.3}, {{2018, 6, 18},
13.2}, {{2018, 6, 19}, 12.95}, {{2018, 6, 20},
12.88}, {{2018, 6, 21}, 12.76}, {{2018, 6, 22},
13.05}, {{2018, 6, 25}, 12.75}, {{2018, 6, 26},
13.74}, {{2018, 6, 27}, 13.96}, {{2018, 6, 28},
13.83}, {{2018, 6, 29}, 13.61}, {{2018, 7, 2},
13.37}, {{2018, 7, 3}, 13.37}, {{2018, 7, 5},
13.43}, {{2018, 7, 6}, 13.85}, {{2018, 7, 9},
13.95}, {{2018, 7, 10}, 14.17}, {{2018, 7, 11},
13.99}, {{2018, 7, 12}, 13.99}, {{2018, 7, 13},
13.89}, {{2018, 7, 16}, 13.9}, {{2018, 7, 17},
13.69}, {{2018, 7, 18}, 13.75}, {{2018, 7, 19},
13.73}, {{2018, 7, 20}, 13.12}, {{2018, 7, 23},
12.99}, {{2018, 7, 24}, 13.12}, {{2018, 7, 25},
13.11}, {{2018, 7, 26}, 13.15}, {{2018, 7, 27},
13.06}, {{2018, 7, 30}, 13.16}, {{2018, 7, 31},
13.63}, {{2018, 8, 1}, 13.24}, {{2018, 8, 2},
13.17}, {{2018, 8, 3}, 13.14}, {{2018, 8, 6}, 13.1}, {{2018, 8, 7},
13.16}, {{2018, 8, 8}, 13.05}, {{2018, 8, 9},
12.94}, {{2018, 8, 10}, 12.77}, {{2018, 8, 13},
12.45}, {{2018, 8, 14}, 12.35}, {{2018, 8, 15},
12.22}, {{2018, 8, 16}, 12.3}, {{2018, 8, 17},
12.3}, {{2018, 8, 20}, 12.3}, {{2018, 8, 21},
12.63}, {{2018, 8, 22}, 12.47}, {{2018, 8, 23},
12.54}, {{2018, 8, 24}, 12.5}, {{2018, 8, 27},
12.77}, {{2018, 8, 28}, 12.76}, {{2018, 8, 29},
12.97}, {{2018, 8, 30}, 12.77}}
weeks = GatherBy[data, DateValue[#[[1]], "Week"] &]
MaximalBy[#, AbsoluteTime[#[[1]]] &] & /@ weeks