Как Вы преобразовываете URL в виртуальный тракт в asp.net без ручного строкового парсинга?

Укажите час и часовой пояс для функции, используя полный формат IS0 8601 2019-01-01T12:00:00+00:00. Таким образом, вы получите правильную метку времени в UTC. Если вы не используете час, я рекомендую использовать 12 часов утра.

В следующем примере я буду использовать числовой массив дат для построения этой строки

//   [Y,m,d]
$date = [2019,1,1];
for($i=1; $i<3; $i++){
  $date[$i] = str_pad($date[$i],2,'0',STR_PAD_LEFT);
}
$t1 = strtotime(implode('-',$date).'T12:00:00+00:00');
echo date('r',$t1);
//=>Tue, 01 Jan 2019 12:00:00 +0000
6
задан Kilhoffer 29 January 2009 в 21:43
поделиться

2 ответа

Можно получить максимум от него от класса Uri:

new Uri("http://myserver.com/home.aspx").AbsolutePath

Затем просто необходимо предварительно ожидать ~

Хотя, то желание могло бы повредиться, если Вы размещаете в подкаталоге - я не думаю, что существует способ сделать это конкретно в контексте приложения, которое Вы запускаете.

Править: Это могло бы сделать это:

VirtualPathUtility.ToAppRelative(new Uri("http://myserver.com/home.aspx").AbsolutePath);
8
ответ дан 9 December 2019 в 22:41
поделиться

VirtualPathUtility. Метод ToAppRelative (Строка), кажется, то, что Вы ищете (http://msdn.microsoft.com/en-us/library/ms150163.aspx)

Если виртуальный тракт для приложения является "myapp", и виртуальный тракт "/myApp/sub/default.asp" передается в метод ToAppRelative, получающийся прикладной относительный путь "~/sub/default.aspx".

3
ответ дан 9 December 2019 в 22:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: