Merhaba,
Object metotları arasında UPackTime kullanarak bu işlemi yapmaktayız. WCF serviste bu metot mevcut mu onu bilmiyorum. Girdiğiniz Logo Zaman formatını size saat , dakika ve saniye olarak geri döndürür.
Eğer WCF servis metotları arasında yoksa gerekli formül :,
Zaman = 2^24*Hour + 2^16*Minute + 2^8*Second + 2^0*Milisecond yani ;
Zaman = Milisaniye + 256 x Saniye + 65536 x Dakika + 16777216 x Saat
Kolay gelsin..
Merhaba,
Teşekkürler cevabın için Uluç WCF serviste maalesef UPackTime bulunmamakta göndermiş olduğun formül 'den yola çıktım ama muvaffak olamadım.
Umut selam,
Tarih için zamanında SQL'de ben şunu yazmıştım. Saat içinde yukarıdaki formülden sayıları değiştirmen yeterli olacaktır sanırım.
-- Mod fonksiyonu olan SQL'lerde –-
-- LOGO tarih formatı : 132186389 -- Gerçek Tarih 21.1.2017 --
SELECT year = (132186389 / 65536) -- sonuc 2017
SELECT month = (MOD(132186389,65536) / 256 -- sonuc 1
SELECT day = MOD(Mod(132186389,65536),256) -- sonuc 21
-- MOD hesaplama SQL üzerinde % olarak da yapılamkta ben SQL 2008 de bu şekilde yapabildim –
-- LOGO tarih formatı : 132186389 -- Gerçek Tarih 21.1.2017 --
SELECT year = (132186389 / 65536) -- sonuc 2017
SELECT month = (132186389 % 65536) / 256 -- sonuc 1
SELECT day = ((132186389 % 65536) % 256) -- sonuc 21
Normal Tarih Formatından Logo Formatına çevirim :
-- Tarih = 2^16*Year + 2^8*Month + 2^0*Day yani ;
-- Tarih = Gün + 256 x Ay + 65536 x Yıl
SELECT 21 + (256 * 1) + (65536 * 2017) -- sonuc 132186389
Selam Uluç,
Teşekkürler
UPackTime işlevinin SQL karşılığı:
RIGHT('00'+CONVERT(VARCHAR,TIME_/16777216),2)+':'+RIGHT('00'+CONVERT(VARCHAR,(TIME_-(TIME_/16777216)*16777216)/65536),2)+':'+RIGHT('00'+CONVERT(VARCHAR,(TIME_-(TIME_/16777216)*16777216-((TIME_-(TIME_/16777216)*16777216)/65536)*65536)/256),2)
UPackTime işlevinin SQL karşılığı:
RIGHT('00'+CONVERT(VARCHAR,TIME_/16777216),2)+':'+RIGHT('00'+CONVERT(VARCHAR,(TIME_-(TIME_/16777216)*16777216)/65536),2)+':'+RIGHT('00'+CONVERT(VARCHAR,(TIME_-(TIME_/16777216)*16777216-((TIME_-(TIME_/16777216)*16777216)/65536)*65536)/256),2)
Cevap vermek için giriş yapmanız gerekmektedir.
Soru sormak için lütfen oturum açınız.
INVOICE tablosunda bulunan TIME_ alanını nasıl normal zamana çevirebiliriz?
06/04/17 14:36   Tiger/RESTMerhaba,
WCF servis ile aktarım yapmaktayız ama veri tabanından yani LG_FFF_DD_INVOICE tablosundan TIME_ alanı alarak normal zaman formatına getirmemiz gerekmektedir. Bu işlem için örnek kod paylaşabilir misiniz?
Veya sorgu ile halledebiliyor ise onu da paylaşabilirmisiniz?
WCF LOBJECTS