Как дополнить строки с нуля в Java? - PullRequest
1 голос
/ 11 июля 2019

В соответствии с требованием я хочу получить уникальную ссылку в следующем формате.

Ссылка должна быть = 15 символов Формат даты (гггг-ММ - дд) + ZERO`s + Id; пример 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());

Ответы [ 2 ]

2 голосов
/ 11 июля 2019

Для этого можно использовать формат строки.

String.format("%s%07d", date, id);
// if date="20191107" and id=181, this will give 201911070000181

Что делает этот код, он добавляет 0 перед идентификатором, пока его длина не станет 7. (Первая часть - дата, и я предполагаю, что дата всегда имеет длину 8 символов.) Она не будет работать, если идентификатор - строка, поэтому я предлагаю приведение к целому числу.

1 голос
/ 11 июля 2019

Вы всегда можете использовать 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();
...