Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / количество дней / 17 сообщений из 17, страница 1 из 1
21.06.2010, 13:55
    #36698319
q1w1e1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
тут как-то столкнулся с такой задачей, надо получить пустую дату, вместо ctod("//")
решил написать date()-date()...оказывается при операции с типом данных "D", получаем тип "N"(всегда думал метры отнимаем метры, получаем метры), это видать что-то из высшей математики, тогда решил date()-1, ну вроде как не разрешено в математики складывать разнотипные величины, но тут получил в результате опять тип "D"...тогда возник вопрос, сколько надо отнять(x) от date() (date()-x), чтоб получить пустую дату " / / "
...
Рейтинг: 0 / 0
21.06.2010, 14:00
    #36698338
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
пустая дата
Код: plaintext
ldEmpty = {}
соответственно не пустая
Код: plaintext
ldNow = {^ 2010 - 06 - 21 }
...
Рейтинг: 0 / 0
21.06.2010, 14:04
    #36698344
Fffffffffffffffffff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
q1w1e1,
а программирование не математика. Если в математике
2+2=4,
то в программировании результат зависит от настроек системы.
...
Рейтинг: 0 / 0
21.06.2010, 14:07
    #36698352
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
А разница между датами - кол-во дней между ними и никакой высшей математики
...
Рейтинг: 0 / 0
21.06.2010, 14:28
    #36698401
q1w1e1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
{^2010-06-21}, а для чего нужна шляпка "^", а что ещё можно вместо неё поставить?
...
Рейтинг: 0 / 0
21.06.2010, 14:30
    #36698408
q1w1e1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
Dima TА разница между датами - кол-во дней между ними и никакой высшей математики
Ну разница между тензорами любой степени(вторая степень матрица), получается число, а это как раз и есть высшая математика...
...
Рейтинг: 0 / 0
21.06.2010, 14:38
    #36698428
Fffffffffffffffff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
q1w1e1{^2010-06-21}, а для чего нужна шляпка "^", а что ещё можно вместо неё поставить?
Можно, например, так
Код: plaintext
CTOD("21.06.10")
Перевод текстового значения в дату.

Или так
Код: plaintext
DATE( 2010 , 6 , 21 )
Код: plaintext
DATE(YEAR(DATE()),MONTH(DATE()),Day(DATE()))
...
Рейтинг: 0 / 0
21.06.2010, 14:52
    #36698466
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
q1w1e1{^2010-06-21}, а для чего нужна шляпка "^", а что ещё можно вместо неё поставить?
Просто нужна, это фоксовый синтаксис записи даты такой {^ГГГГ-ММ-ДД} и даты-времени {^ГГГГ-ММ-ДД ЧЧ:ММ:СС}
других символов не предусмотрено, кроме ^
...
Рейтинг: 0 / 0
21.06.2010, 16:32
    #36698732
q1w1e1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
Всё равно парадокс
Date()-Date()=0 && {10/06/21}
Date()-{10/06/20} =1, далее 2 и т.д., т.е. предел вычитаемого стремится к пустой дате, количество дней естественно возрастает, но когда вычитаемое равно пустой дате, количество дней опять равно 0(date()-{}=0).
Так как подсчитать количество прошедших дней, до сегодняшней даты....
...
Рейтинг: 0 / 0
21.06.2010, 17:00
    #36698824
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
q1w1e1,

через sys(11)
...
Рейтинг: 0 / 0
21.06.2010, 17:25
    #36698887
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
q1w1e1Всё равно парадокс
Date()-Date()=0 && {10/06/21}
Date()-{10/06/20} =1, далее 2 и т.д., т.е. предел вычитаемого стремится к пустой дате, количество дней естественно возрастает, но когда вычитаемое равно пустой дате, количество дней опять равно 0(date()-{}=0).
Так как подсчитать количество прошедших дней, до сегодняшней даты....
Такую логику разработчики фокса прописали. При date()-{} = 0 еще date()>{} = .T.

Не нравится - NULL используй. Тем более в других СУБД нет такого понятия как пустая дата. Захочешь свою базу на SQL-сервер поселить - надо будет переписывать все что с пустой датой связано.
...
Рейтинг: 0 / 0
22.06.2010, 05:25
    #36699559
q1w1e1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
Что-то всё равно не могу понять...
Юлианский календарь был введен Юлием Цезарем в 45 г. до н.э (примерно 1000-1500 лет назад)
Теперь смотрим сколько годов показывает функция SYS(11)
VAL(SYS(11,DATE()))/365=6727 (ну там плюс минус тысяча), всё равно расхождение с датой принятия Юлианского календаря...
...
Рейтинг: 0 / 0
22.06.2010, 05:44
    #36699563
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
q1w1e1Что-то всё равно не могу понять...
Юлианский календарь был введен Юлием Цезарем в 45 г. до н.э (примерно 1000-1500 лет назад)
Теперь смотрим сколько годов показывает функция SYS(11)
VAL(SYS(11,DATE()))/365=6727 (ну там плюс минус тысяча), всё равно расхождение с датой принятия Юлианского календаря...
Че вдруг? При чем здесь дата принятия?

На самом деле, отсчитывается от сотворения мира.
...
Рейтинг: 0 / 0
22.06.2010, 06:46
    #36699581
q1w1e1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
сотворение мира это "Большой взрыв",образование Вселенной?
Просто почему дата отсчёта для Юлианского календаря, разработчиками фокса принята 6000 лет назад, чё там было то?
...
Рейтинг: 0 / 0
22.06.2010, 09:53
    #36699724
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
> Автор: q1w1e1
> Просто почему дата отсчёта для Юлианского календаря, разработчиками фокса принята 6000 лет назад, чё там было то?

А что, что-то должно быть? Просто число красивое

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22.06.2010, 11:34
    #36700010
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
Не путайте календарь и период

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

Начало Юлианского периода 1 января 4713 год до н.э.

Юлианский период в (7980=28*19*15) представляет собой наименьшее кратное трёх циклов: солнечного в 28 лет, лунного цикла Метона в 19 лет и периода в 15 лет, так называемого римского индиктиона, по прошествии которого в Римской империи взималась чрезвычайная подать. Год 4713 до н. э. был первым годом одновременно во всех трёх циклах. Конец первого юлианского периода придётся на 23 января 3268 года по григорианскому календарю.

В википедии ищите статью с названием "Юлианский день". Там приведены кое-какие формулы расчета даты по количеству дней.
...
Рейтинг: 0 / 0
22.06.2010, 12:27
    #36700222
q1w1e1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
количество дней
ВладимирМ,

спасибо, всё мне стало понятно теперь..:-)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / количество дней / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]