В соответствии с требованием я хочу получить уникальную ссылку в соответствии со следующим форматом.
Ссылка должна быть = 15 символов Формат даты (гггг-мм-дд) + НУЛИ + идентификатор; пример 1 = 201911070000181 пример 2 = 201911070000090
В примере кода я показал дату как строку и идентификатор как строку, кто-нибудь может мне помочь? Спасибо.
Date today = Utils.getCurrentDateByTimeZone(environment.getProperty(TIME_ZONE));
String pattern = "yyyyMMdd";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
String date = simpleDateFormat.format(today);
String merchantId = String.valueOf(transactionData.getMerchant().getMerchantId());




Вы всегда можете использовать StringBuilder:
StringBuilder sb = new StringBuilder(15);
sb.append(date);
for (int i = date.length() ; i < 15 - merchantId.length(); i++) {
sb.append('0');
}
sb.append (merchantId);
String reference = sb.toString();
Для этого вы можете использовать формат String.
String.format("%s%07d", date, id);
// if date = "20191107" and id=181, this will give 201911070000181
Что делает этот код, так это то, что он добавляет 0 перед идентификатором до тех пор, пока его длина не станет равной 7. (Первая часть - это дата, и я предполагаю, что дата всегда имеет длину 8 символов.) Это не будет работать, если идентификатор является строкой, поэтому я предлагаю привести его к целое число.