4 changed files with 101 additions and 35 deletions
@ -0,0 +1,32 @@
|
||||
package org.leolo.nrdatad.util; |
||||
|
||||
import java.text.DateFormat; |
||||
import java.text.FieldPosition; |
||||
import java.text.ParsePosition; |
||||
import java.util.Date; |
||||
|
||||
public class TUIDDateFormat extends DateFormat { |
||||
|
||||
/** |
||||
* |
||||
*/ |
||||
private static final long serialVersionUID = 7274736087586430881L; |
||||
|
||||
public static final String MONTH_ID = "MBTQPHSONDUE"; |
||||
public static final String DAY_ID = "0123456789ABCDEFGHJKLMNPRSTUVWX"; |
||||
|
||||
|
||||
@Override |
||||
public StringBuffer format(Date arg0, StringBuffer arg1, FieldPosition arg2) { |
||||
// TODO Auto-generated method stub
|
||||
arg1.append(MONTH_ID.charAt(arg0.getMonth())); |
||||
arg1.append(DAY_ID.charAt(arg0.getDate()-1)); |
||||
return arg1; |
||||
} |
||||
|
||||
@Override |
||||
public Date parse(String arg0, ParsePosition arg1) { |
||||
throw new UnsupportedOperationException(); |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,34 @@
|
||||
package org.leolo.nrdatad.util; |
||||
|
||||
import org.junit.Test; |
||||
|
||||
import java.text.ParseException; |
||||
import java.text.SimpleDateFormat; |
||||
|
||||
import static org.junit.Assert.*; |
||||
|
||||
public class TUIDDateFormatTest { |
||||
|
||||
@Test |
||||
public void basicConvert() throws ParseException { |
||||
assertEquals("M0", convert("2022-01-01")); |
||||
assertEquals("MX", convert("2022-01-31")); |
||||
assertEquals("M0", convert("2023-01-01")); |
||||
assertEquals("MX", convert("2023-01-31")); |
||||
|
||||
assertEquals("P0", convert("2022-05-01")); |
||||
assertEquals("PX", convert("2022-05-31")); |
||||
assertEquals("P0", convert("2023-05-01")); |
||||
assertEquals("PX", convert("2023-05-31")); |
||||
|
||||
assertEquals("E0", convert("2022-12-01")); |
||||
assertEquals("EX", convert("2022-12-31")); |
||||
assertEquals("E0", convert("2023-12-01")); |
||||
assertEquals("EX", convert("2023-12-31")); |
||||
|
||||
} |
||||
|
||||
private String convert(String date) throws ParseException { |
||||
return new TUIDDateFormat().format(new SimpleDateFormat("yyyy-MM-dd").parse(date)); |
||||
} |
||||
} |
||||
Loading…
Reference in new issue