Математика времени в Delphi

Если вы хотите, чтобы другие имели доступ к smarts.local.

  • убедитесь, что IP-адрес вашей системы является статическим.

  • тогда каждый, кто хочет получить доступ к smarts.local, должен добавить в свой файл hosts следующее статический ip)

  • или вы должны использовать DNS-сервер в своей сети.

Вы также можете написать команду запуска, которая будет выполнять php artisan serve. (Но вы должны убедиться, что ваш public ip статичен)

7
задан Bruce the Hoon 3 October 2008 в 18:00
поделиться

5 ответов

Как упомянуто gabr и mliesen, взгляните на единицы DateUtils и SysUtils, полезные функции включают.

  • IncDay - Добавьте a или вычтите много дней.
  • IncMonth - Добавьте a или вычтите много месяцев.
  • IncWeek - Добавьте a или вычтите много недель.
  • IncYear - Добавьте a или вычтите много лет.
  • EncodeDate - Возвращает значение TDateTime с года, Месяца и Дневных параметрических усилителей.
15
ответ дан 6 December 2019 в 05:49
поделиться

Что Вы хотите произойти, если день текущего месяца не существует в Вашем будущем месяце? Скажите, 31 января + 1 месяц? У Вас есть та же проблема, если Вы увеличиваете год, и срок начала работы находится 29 февраля на високосном годе. Таким образом, не может быть универсальной функции IncMonth или IncYear, которая будет последовательно работать над всеми датами.

Для любого заинтересованного, я сердечно рекомендую статью Julian Bucknall о сложностях, которые свойственны от этого типа вычисления о том, как вычислить число месяцев и дней между двумя датами.

Следующее является единственными универсальными функциями инкремента даты, возможными, которые не вводят anomolies в универсальную математику даты. Но это только выполняет это путем перекладывания ответственности назад на программиста, у которого, по-видимому, есть строгие требования определенного приложения, которое он программирует.

IncDay - Добавьте a или вычтите много дней.
IncWeek - Добавьте или вычтите много недель.

Но если необходимо использовать созданный в функциях затем, по крайней мере, быть уверенными, что они делают то, что Вы хотите, чтобы они сделали. Взгляните на единицы DateUtils и SysUtils. Наличие исходного кода к этим функциям является одним из самых прохладных аспектов Delphi. Однако вот полный список созданных в функциях:

IncDay - Добавьте a или вычтите много дней.
IncWeek - Добавьте или вычтите много недель.
IncMonth - Добавьте a или вычтите много месяцев.
IncYear - Добавьте a или вычтите много лет.

Что касается второй части Вашего вопроса, как установить системную дату и время с помощью TDatetime, следующий бесстыдно украденный код из другого сообщения сделает задание:

procedure SetSystemDateTime(aDateTime: TDateTime);
var
  lSystemTime: TSystemTime;
  lTimeZone: TTimeZoneInformation;
 begin
  GetTimeZoneInformation(lTimeZone);
  aDateTime := aDateTime + (lTimeZone.Bias / 1440);
  DateTimeToSystemTime(aDateTime, lSystemTime);
  setSystemTime(lSystemTime);
end;
5
ответ дан 6 December 2019 в 05:49
поделиться

Существует много помощников в единице DateUtils.

9
ответ дан 6 December 2019 в 05:49
поделиться

Существует много помощников в единице SysUtils (и как gabr указано, также в DateUtils).

0
ответ дан 6 December 2019 в 05:49
поделиться

VCL имеет типы (TDate и TDateTime), которые являются, удваивается, и можно использовать в арифметических операциях.

Также посмотрите EncodeDate и DecodeDate

3
ответ дан 6 December 2019 в 05:49
поделиться
Другие вопросы по тегам:

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