Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Вниз

Первый и последний дни месяца.   Найти похожие ветки 

 
deras ©   (2008-01-22 14:57) [0]

Вх. данные: число месяца, год
Необходимо получить 2 даты:
- дата первого дня указаного месяца и года
- дата последнего дня указаного месяца и года

Благодарю.


 
engine ©   (2008-01-22 15:02) [1]

> [0] deras ©   (22.01.08 14:57)

StartOfAMonth
EndOfAMonth


 
Ega23 ©   (2008-01-22 15:04) [2]


> Вх. данные: число месяца, год


>
> StartOfAMonth
> EndOfAMonth
>


+ EncodeDate и decodedate


 
deras ©   (2008-01-22 15:08) [3]


> engine ©   (22.01.08 15:02) [1]


> Ega23 ©   (22.01.08 15:04) [2]


Спасибо!


 
Sergey13 ©   (2008-01-22 16:47) [4]

> [0] deras ©   (22.01.08 14:57)
Как вариант.

> - дата первого дня указаного месяца и года
По моим наблюдениям они все начинаются с 1 числа

> - дата последнего дня указаного месяца и года
По моим наблюдениям они заканчиваются накануне 1 числа следущего месяца


 
Семеныч   (2008-01-22 16:56) [5]

> Sergey13 ©   (22.01.08 16:47) [4]

По моим наблюдениям, 1 число - не дата. Дата - это когда число упаковано вместе с месяцем и годом в TDateTime. О чем и говорилось в [1] и [2].

2. По моим наблюдениям, число месяца накануне первого чиса следующего месяца - тоже не дата. См. п. 1.


 
Sergey13 ©   (2008-01-22 17:00) [6]

> [5] Семеныч   (22.01.08 16:56)

А кто-то утверждал, что 1 число - полная дата?
Я давал вариант нахождения нужных дат.


 
Семеныч   (2008-01-22 17:04) [7]

> Sergey13 ©   (22.01.08 17:00) [6]

То есть, Вы считаете, что после [3] Ваши наблюдения еще имели смысл?


 
engine ©   (2008-01-22 17:06) [8]

> [7] Семеныч   (22.01.08 17:04)

О чем спор? Сергей по теме ответил, вроде все правильно.


 
Anatoly Podgoretsky ©   (2008-01-22 19:10) [9]


> По моим наблюдениям они заканчиваются накануне 1 числа следущего
> месяца

А по моим наблюдениям она равна количеству дней в месяце.


 
Sergey13 ©   (2008-01-23 09:08) [10]

> [7] Семеныч   (22.01.08 17:04)

Ты новый хранитель местных традиций или представляешь святую инквизицию? Тогда хоть зарегистрируйся.

> еще имели смысл?
Представь себе да. Например в SQL запросе, где недоступны делфийские функции, удобнее, ИМХО, пользоваться именно моими вариантом (то, что это вариант решения я честно указал).


 
Slym ©   (2008-01-23 10:29) [11]

Sergey13 ©   (23.01.08 9:08) [10]
+1
function StartOfAMonth(date:TDateTime):TDateTime;
begin
 result:=Int(date)-DayOf(date)+1;
end;

function EndOfAMonth(date:TDateTime):TDateTime;
begin
 result:=StartOfAMonth(StartOfAMonth(date)+32)-1;
end;


 
Slym ©   (2008-01-23 10:30) [12]

Slym ©   (23.01.08 10:29) [11]
function EndOfAMonth(date:TDateTime):TDateTime;

поправка
function EndOfAMonth(date:TDateTime):TDateTime;
begin
 result:=StartOfAMonth(StartOfAMonth(date)+32)-OneMillisecond;
end;


 
Семеныч   (2008-01-23 10:35) [13]

> Sergey13 ©   (23.01.08 09:08) [10]

Вряд ли задавший вопрос настолько глуп, что нуждался в подсказке очевидного. Проблема состояла не в этом, а в том, как получить результат именно в виде TDateTime. Человек просто не знал нужных функций и после того, как ему их подсказали, проблема была сразу же закрыта. Что он, фактически, и сообщил в [3] (иначе были бы новые вопросы). Значит, появившийся через час после этого Ваш постинг был уже не нужен. Да и вряд ли вообще нужны ответы, в которых излагаются тривиальные вещи, очевидные даже для первоклассников.

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

Зашел вот на этот сайт, почитал - странные здесь вещи приняты. Дико просто.


 
{RASkov} ©   (2008-01-23 10:43) [14]

> [13] Семеныч   (23.01.08 10:35)
> Да и вряд ли вообще нужны ответы, в которых излагаются тривиальные
> вещи, очевидные даже для первоклассников.

Вот нытьё чье-то здесь точно не нужно, а разные варианты решения вопроса ветки это разве плохо?

> странные здесь вещи приняты

:)
Есть такое, но никуда от этого не денешься)

> Дико просто.

Нет.... просто не привычно), Привыкнешь и все будет нормально....
Или просто больше сюда не придешь, а если так - то зря :)


 
Семеныч   (2008-01-23 10:52) [15]

> {RASkov} ©   (23.01.08 10:43) [14]

Не хотелось бы к такому привыкать.


 
Sergey13 ©   (2008-01-23 11:00) [16]

> [13] Семеныч   (23.01.08 10:35)
> Да и вряд ли вообще нужны ответы, в которых излагаются тривиальные
> вещи, очевидные даже для первоклассников.

Эти тривиальные вещи на самом деле алгоритм определения искомых дат.

> Вх. данные: число месяца, год
> Необходимо получить 2 даты:
> - дата первого дня указаного месяца и года

StrToDate("01"+месяц+год)

> - дата последнего дня указаного месяца и года

StrToDate("01"+(месяц+1)+год)-1

Разумеется это примитивный псевдокод (на случай если ты попытаешься это откомпилировать).

Если ты не понял, что это алгоритм, то видимо ты зашел не на тот сайт. А не поняв, видимо решил, что это издевка.

Почитав несколько твоих постов в разных ветках я не нашел к сожалению твоих ответов авторам по существу, только обсуждения постов отвечающих. Ты видишь в этом свое предназначение?


 
Семеныч   (2008-01-23 11:19) [17]

> Sergey13 ©   (23.01.08 11:00) [16]

Вот другой псевдокод:

EncodeDate(1, месяц, год)
EncodeDate(1, месяц + 1, год) - 1

Этот псевдокод намного менее примитивен, чем Ваш (боже! кошмар!). Но он ровно столь же тривиален, что и Ваш - поскольку использует тот же самый всем очевидный алгоритм.

Скажите, Вы действительно считаете других настолько глупыми, что им нужно объяснять, сколько будет дважды два? И при этом еще сомневаетесь, поняли ли они Ваши объяснения?


 
{RASkov} ©   (2008-01-23 14:57) [18]

> [17] Семеныч   (23.01.08 11:19)

Ну прекращай уже :)
Уже не смешно становится...



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.044 c
2-1201007194
Riply
2008-01-22 16:06
2008.02.17
Работа с битовыми масками.


2-1201310538
BBCHa
2008-01-26 04:22
2008.02.17
Создание сервисов


3-1191490877
Ega23
2007-10-04 13:41
2008.02.17
TDataLink - распознать Insert и Edit


2-1201008769
andiv
2008-01-22 16:32
2008.02.17
изображение в MySql (blob)


2-1201008948
Kolobok
2008-01-22 16:35
2008.02.17
Как вывести данные из DbGrid по дате с помощью запроса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский