[]
        
(Showing Draft Content)

本地化的时间日期格式

在Java中,不支持系统时间日期格式。因此,当使用[$-x-sysdate]、$-x-systime]等数字格式时,它们将被忽略。然而,GcExcel Java通过在使用系统时间日期格式时选择Windows默认日期和时间格式以此来改进此行为。

GcExcel Java在以下本地化设置下支持时间日期格式

  • en-AU

  • en-GB

  • en-US

  • ja-JP

  • zh-CN

对于不可识别的本地化设置,使用en-US的本地化的行为。

请参阅下面代码示例,在不同本地化设置下对系统时间日期格式进行显示:

//create a new workbook
Workbook workbook = new Workbook();
IWorksheet sheet = workbook.getActiveSheet();
sheet.getRange("A1").setValue("Culture \\ Format");
        
String[] formats = new String[] { "[$-x-sysdate]dddd, mmmm dd, yyyy", "[$-x-systime]h:mm:ss AM/PM" };
String[] cultures = new String[] { "en-US", "zh-CN", "en-GB", "ja-JP", "en-AU" };
        
// Add headers
for (int formatId = 0; formatId < formats.length; formatId++) {
sheet.getRange(0, formatId + 1).setValue(formats[formatId]);
}
        
for (int cultureId = 0; cultureId < cultures.length; cultureId++) {
sheet.getRange(cultureId + 1,0).setValue(cultures[cultureId]);
}
        
// Format date cells with different cultures
for (int cultureId = 0; cultureId < cultures.length; cultureId++) {
Locale lc = Locale.forLanguageTag(cultures[cultureId]);
workbook.setCulture(lc);
for (int formatId = 0; formatId < formats.length; formatId++) {
IRange cell = sheet.getRange(cultureId + 1, formatId + 1);
cell.setValue(43245.5922);
cell.setNumberFormat(formats[formatId]);
cell.setValue("'" + cell.getText());
}
}
        
// Arrange
sheet.getRange("A:F").getEntireColumn().autoFit();
        
//save to an excel file
workbook.save("SystemDateAndTimeFormat.xlsx");

限制

  • 用户自定义的系统时间日期格式(存储在windows注册表中)会被忽略。