diff --git a/osu.Game/Database/LegacyExporter.cs b/osu.Game/Database/LegacyExporter.cs
index 374f9f557a..09d6913dd9 100644
--- a/osu.Game/Database/LegacyExporter.cs
+++ b/osu.Game/Database/LegacyExporter.cs
@@ -33,13 +33,15 @@ namespace osu.Game.Database
UserFileStorage = storage.GetStorageForDirectory(@"files");
}
+ protected virtual string GetFilename(TModel item) => item.GetDisplayString();
+
///
/// Exports an item to a legacy (.zip based) package.
///
/// The item to export.
public void Export(TModel item)
{
- string itemFilename = item.GetDisplayString().GetValidFilename();
+ string itemFilename = GetFilename(item).GetValidFilename();
IEnumerable existingExports = exportStorage.GetFiles("", $"{itemFilename}*{FileExtension}");
diff --git a/osu.Game/Database/LegacyScoreExporter.cs b/osu.Game/Database/LegacyScoreExporter.cs
index 6fa02b957d..01f9afdc86 100644
--- a/osu.Game/Database/LegacyScoreExporter.cs
+++ b/osu.Game/Database/LegacyScoreExporter.cs
@@ -20,6 +20,14 @@ namespace osu.Game.Database
{
}
+ protected override string GetFilename(ScoreInfo score)
+ {
+ string scoreString = score.GetDisplayString();
+ string filename = $"{scoreString} ({score.Date.LocalDateTime:yyyy-MM-dd_HH-mm})";
+
+ return filename;
+ }
+
public override void ExportModelTo(ScoreInfo model, Stream outputStream)
{
var file = model.Files.SingleOrDefault();