Как изменить формат времени в шаблоне NetBeans

У меня есть очень специфический проект C++, и я использую NetBeans.

Причина этого в том, что нам нужны определенные временные метки, и я нашел шаблоны NetBeans отличным инструментом для вставки автоматического заголовка со всеми соответствующими вещами.

Мне удается настроить все красиво, но я не могу понять, как настроить формат времени в шаблоне заголовка.

В настоящее время это показывает это:

Created on April 6, 2017, 2:18 PM

Но так как я работаю в Центральной Европе, мне нужен 24-часовой формат, чтобы я мог иметь что-то вроде

Created on 06.04.2017. at 14:18

Я нашел, как изменить формат даты здесь, но по какой-то причине это иногда не работает .

Я даже пытался использовать справочник по языку шаблонов FreeMaker, поэтому я создал переменную time, которая выглядит так:

<#assign dateTime = .now>
<#assign time = dateTime?time>

${time?iso("Europe/Zagreb")}

Но это все равно ничего не изменило.

Теперь мой шаблон выглядит так:

// -*- C++ -*-
<#assign licenseFirst = "/*">
<#assign licensePrefix = " * ">
<#assign licenseLast = " */">

<#assign aDateTime = .now>
<#assign time = aDateTime?time>

<#include "${project.licensePath}">

/* 
 * File:   ${NAME}.${EXTENSION}
 * Author: ${user}
 *
 * Created on ${DATE} at ${time?iso("Europe/Zagreb")}
 */

#ifndef ${GUARD_NAME}
#define ${GUARD_NAME}



#endif  /* ${GUARD_NAME} */

Можно ли это вообще изменить и как?

Любая помощь приветствуется.


person mutantkeyboard    schedule 06.04.2017    source источник
comment
Вы уверены, что редактируете правильный шаблон? Используя именно тот шаблон, который вы разместили, я получаю следующее: Created on April 6, 2017 at 16:14:23+02:00. Который показывает 24-часовое время.   -  person acm    schedule 06.04.2017
comment
@acm Ты прав. Я отредактировал неправильный файл. Видно, рабочий день был долгим :)   -  person mutantkeyboard    schedule 06.04.2017
comment
Я тоже борюсь с этим. Мне грустно и обидно, что даже в 2017 году мы все еще боремся с базовой локализацией. Netbeans должен как минимум опираться на желаемый пользователем формат локализации, а не переопределять выбор пользователя форматом, специфичным для одной страны (или, говоря прямо, Netbeans должен воздерживаться от того, чтобы быть высокомерным актером). Если это слишком сложно, используйте формат ISO8601, который является стандартным в США и большинстве других стран.   -  person EBlake    schedule 07.06.2017


Ответы (1)


В своем вопросе вы ссылаетесь на ресурс (СПАСИБО за это!!!), предлагающий следующие даты:

${date?date?string("dd.MM.yyyy")}

Я пробовал то же самое на время, и это работает хорошо:

${time?time?string("HH.mm.ss")}

Кстати, я также попытался создать некоторые ошибки и получил несколько хороших сообщений об ошибках, в которых довольно четко указано, что ожидает NB и что он получает:

${date?time?string("hh.mm.ss")}
${time?date?string("hh.mm.ss")}
${time?datetime?string("hh.mm.ss")}
${date?datetime?string("hh.mm.ss")}

произведено:

  • Ошибка: в строке 20, столбце 6 в Templates/Classes/Class.java Строка не соответствует ожидаемому формату даты/времени. Строка для синтаксического анализа: "11-Jan-2018". Ожидаемый формат: "ЧЧ:мм:сс".
  • Ошибка: в строке 21, столбце 6 в Templates/Classes/Class.java Строка не соответствует ожидаемому формату даты/времени. Строка для синтаксического анализа: «13:40:27». Ожидаемый формат: «дд-МММ-гггг».
  • Ошибка: в строке 22, столбце 6 в Templates/Classes/Class.java Строка не соответствует ожидаемому формату даты/времени. Строка для синтаксического анализа: «13:40:27». Ожидаемый формат: «дд-МММ-гггг ЧЧ:мм:сс».
  • Ошибка: в строке 23, столбце 6 в Templates/Classes/Class.java Строка не соответствует ожидаемому формату даты/времени. Строка для синтаксического анализа: "11-Jan-2018". Ожидаемый формат: «дд-МММ-гггг ЧЧ:мм:сс».
person tomorrow    schedule 11.01.2018