arturs
2012-07-30 11:58:48 UTC
Witam..
Mam taki problem
jest sobie baza w MSSQLu (2008) w której autor wykombinował sobie że
czas będzie zapisywał jako czas UnixDateTime
napisałem sobie funkcję która to pokazuje mi jako datę i godzinę w
zapisie strawnym dla człowieka..
CREATE function [dbo].[data] (@unixtime as int )
returns varchar(20)
as
begin
return(
convert(varchar(20), DateAdd(second, @unixtime, '19700101'), 120)
)
end
nie ma tu żadnej filozofii
problem pojawił się z następną wersją bazy, otóż pole jest to samo,
zapisywane tak samo ale czas jest UTC.. i teraz problem jest taki że w
raportach jest czas przesunięty (w lato o 2 godziny, a w zimę będzie o
godzinę), o ile przekształcanie aktualnego czasu na UTC da się jedną
funkcją zrealizować to nie bardzo kojarzę jak zrobić odwrotnie - czyli
jak czas UTC przedstawić jako lokalny.
Najlepiej by było jakby można zmodyfikować powyższą funkcję tak żeby w
niej sprawdzać dla podanej daty parametry do przeliczenia na nas lokalny..
Ma ktoś jakiś pomysł?
Pozdrawiam
Mam taki problem
jest sobie baza w MSSQLu (2008) w której autor wykombinował sobie że
czas będzie zapisywał jako czas UnixDateTime
napisałem sobie funkcję która to pokazuje mi jako datę i godzinę w
zapisie strawnym dla człowieka..
CREATE function [dbo].[data] (@unixtime as int )
returns varchar(20)
as
begin
return(
convert(varchar(20), DateAdd(second, @unixtime, '19700101'), 120)
)
end
nie ma tu żadnej filozofii
problem pojawił się z następną wersją bazy, otóż pole jest to samo,
zapisywane tak samo ale czas jest UTC.. i teraz problem jest taki że w
raportach jest czas przesunięty (w lato o 2 godziny, a w zimę będzie o
godzinę), o ile przekształcanie aktualnego czasu na UTC da się jedną
funkcją zrealizować to nie bardzo kojarzę jak zrobić odwrotnie - czyli
jak czas UTC przedstawić jako lokalny.
Najlepiej by było jakby można zmodyfikować powyższą funkcję tak żeby w
niej sprawdzać dla podanej daty parametry do przeliczenia na nas lokalny..
Ma ktoś jakiś pomysł?
Pozdrawiam