Я лично отформатировал бы его в двух частях: non-am/pm часть и/пополудни расстаются с ToLower:
string formatted = item.PostedOn.ToString("dddd, MMMM d, yyyy a\\t h:mm") +
item.PostedOn.ToString("tt").ToLower();
Другая опция (который я исследую через секунду) состоит в том, чтобы захватить текущий DateTimeFormatInfo, создать копию и установить,/пополудни указатели к версии нижнего регистра. Затем используйте ту информацию о формате для нормального форматирования. Вы хотели бы кэшировать DateTimeFormatInfo, очевидно...
РЕДАКТИРОВАНИЕ: Несмотря на мой комментарий, я записал кэширующийся бит так или иначе. Это, вероятно, не будет быстрее , чем код выше (поскольку это включает блокировку и поиск по словарю), но это действительно делает код вызова более простым:
string formatted = item.PostedOn.ToString("dddd, MMMM d, yyyy a\\t h:mmtt",
GetLowerCaseInfo());
Вот полная программа для демонстрации:
using System;
using System.Collections.Generic;
using System.Globalization;
public class Test
{
static void Main()
{
Console.WriteLine(DateTime.Now.ToString("dddd, MMMM d, yyyy a\\t h:mmtt",
GetLowerCaseInfo());
}
private static readonly Dictionary<DateTimeFormatInfo,DateTimeFormatInfo> cache =
new Dictionary<DateTimeFormatInfo,DateTimeFormatInfo>();
private static object cacheLock = new object();
public static DateTimeFormatInfo GetLowerCaseInfo()
{
DateTimeFormatInfo current = CultureInfo.CurrentCulture.DateTimeFormat;
lock (cacheLock)
{
DateTimeFormatInfo ret;
if (!cache.TryGetValue(current, out ret))
{
ret = (DateTimeFormatInfo) current.Clone();
ret.AMDesignator = ret.AMDesignator.ToLower();
ret.PMDesignator = ret.PMDesignator.ToLower();
cache[current] = ret;
}
return ret;
}
}
}
Как настроен ваш каталог? У вас есть папка static
в / home / user / www / oil / oil_database / static_files
? В этом случае директива должна выглядеть так (обратите внимание на косую черту в конце в / static /
):
location /static/ {
autoindex on;
root /home/user/www/oil/oil_database/static_files;
}
Если вы хотите отобразить путь / home / user / www / oil / oil_database / static_files
в URL / static /
, вы должны либо
переименовать папку static_files
в static
и использовать эту директиву:
location / static / {
автоиндекс включен;
root / home / user / www / oil / oil_database /;
}
используйте псевдоним:
location / static / {
автоиндекс включен;
псевдоним / home / user / www / oil / oil_database / static_files /;
}
У меня есть аналогичная конфигурация для моих сайтов Django, но я думаю, что вы хотите использовать псевдоним
вместо root
для своих носителей. Например:
location /static {
alias /home/user/www/oil/oil_database/static_files;
}