Я хотел бы расширить ответ @ Alexaku и показать, как я реализовал вспомогательную функцию. Это полезно только на одной конкретной странице, но позволяет несколько раз выполнять фрагмент кода бритвы с входными параметрами. Синтаксис невелик, но я нашел его очень полезным в отсутствие функции @helper бритвы. Сначала объявите какое-то Dto, которое будет содержать входные параметры в функцию.
@functions {
private class Dto
{
public string Data { get;set; }
}
}
Затем объявите функцию бритвы. Обратите внимание, что значение displayItem может быть многострочным, а также обратите внимание, что вы получаете доступ к переменной Dto с помощью @item.
@{
Func<Dto, IHtmlContent> displayItem = @<span>@item.Data</span>;
}
Затем, когда вы хотите использовать шаблон бритвы, вы можете называть его следующим из любой точки страницы.
<div>
@displayItem(new Dto {Data = "testingData1" });
</div>
<div>
@displayItem(new Dto {Data = "testingData2" });
</div>
Вот мое предположение (я отправил как общественная Wiki, таким образом, можно голосовать, если я прав):
Date parsed;
try {
SimpleDateFormat format =
new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
parsed = format.parse(dateString);
}
catch(ParseException pe) {
throw new IllegalArgumentException(pe);
}
SimpleDateFormat является способом пойти. Я могу указать, однако, что можно чувствовать себя вынужденными определить один экземпляр SimpleDateFormat и создать объекты Даты с помощью этого. Если Вы делаете, остерегаетесь, тот SimpleDateFormat не ориентирован на многопотоковое исполнение, и можно представлять себя некоторым потенциально твердым к отладке проблемам!
я рекомендовал бы пользоваться этой возможностью для рассмотрения Joda, который является намного лучшим продуманным (и ориентированный на многопотоковое исполнение) API. Это формирует основание JSR-310, который является новым предложенным API Даты Java.
я понимаю, что это - немного больше работы. Однако это, вероятно, стоит, учитывая, что необходимо осуществить рефакторинг код в данный момент.
Если Вы будете смотреть на источник Date.parse (Представьте s в виде строки), метод, который упоминает Nicolas, то Вы будете видеть, что это будет трудно или невозможно создать формат даты, который точно воспроизводит поведение.
, Если Вы просто хотите устранить предупреждение, Вы могли бы поместить @SuppressWarnings({“deprecation”})
внешняя сторона метод, назвав Дату (Строка) конструктор.
, Если Вы действительно хотите гарантировать будущий доступ к этому поведению с будущим JREs, Вы могли бы быть в состоянии просто извлечь метод из источников JDK и поместить его в Ваши собственные источники. Это потребовало бы тщательного чтения лицензий исходного кода и рассмотрения их заявления к Вашему определенному проекту, и не могло бы быть допустимо вообще.
DateFormat имеет статические методы тот возврат экземпляры DateFormat. Я не знаю, какой (если таковые имеются) имеет то же поведение как Date(String s)
, но здесь Вы идете:
DateFormat.getInstance()
DateFormat.getDateInstance()
DateFormat.getTimeInstance()
DateFormat.getDateTimeInstance()
Короткий ответ (перед дальнейшим расследованием): нет, это не эквивалентно. Дата (Представляют toParse в виде строки) конструктор эквивалентен методу синтаксического анализа класса Дата (который также удерживается от использования)... И javadoc этого метода требования:
Примечание, что это немного отличается от интерпретации лет меньше чем 100, который используется в SimpleDateFormat.
, Если это - единственное изменение, я предполагаю, что можно продолжить этот путь.