BMS-HOSxP Community

HOSxP => Delphi / Pascal => ข้อความที่เริ่มโดย: ittipol ที่ มกราคม 20, 2014, 16:38:51 PM

หัวข้อ: Funtion ในการคำนวนวันที่เวลา
เริ่มหัวข้อโดย: ittipol ที่ มกราคม 20, 2014, 16:38:51 PM
อาจารย์ทุกท่านครับ ผมฝากขอคำแนะนำ ในคำสั่งการเขียน delphi
เพื่อคำนวณช่วงระยะเวลาและวันที่ด้วยครับ
ช่วยแนะนำ Funtion ในการคำนวนวันที่เวลา
ในการบวกหรือลบกันหน่อยครับ
อยากเอา วันที่ และเวลามาลบกันหา ระยะเวลาครับ
ขอบคุณครับ
หัวข้อ: Re: Funtion ในการคำนวนวันที่เวลา
เริ่มหัวข้อโดย: nuttavut ที่ มกราคม 20, 2014, 17:12:58 PM
อาจารย์ทุกท่านครับ ผมฝากขอคำแนะนำ ในคำสั่งการเขียน delphi
เพื่อคำนวณช่วงระยะเวลาและวันที่ด้วยครับ
ช่วยแนะนำ Funtion ในการคำนวนวันที่เวลา
ในการบวกหรือลบกันหน่อยครับ
อยากเอา วันที่ และเวลามาลบกันหา ระยะเวลาครับ
ขอบคุณครับ

นี่ส่วนหนึ่งครับ ลองศึกษาดู
คำสั่ง TIMESTAMPDIFF หาค่าความต่างของ เดือน กะ ปี ครับ
         
         SELECT TIMESTAMPDIFF(MONTH,"2003-02-01","2003-05-01") as dd ค่าที่ได้คือ 3 ครับเพราะเดือน ห่างกัน 3 ครับ
         
         SELECT TIMESTAMPDIFF(YEAR,"2001-01-01","2002-01-01") as dd ค่าที่ได้คือ 1 ครับ เพราะห่างกันหนึ่งปี

         SELECT TIMESTAMPDIFF(day,"2001-01-01","2002-01-01") as dd ค่าที่ได้คือ  365 เพราะต่างกัน 1 เท่ากับ 365 วันไงละครับ

         แตแค่นี้หลายคนก็คงยังมีคำถามในใจอีกว่าแล้วจะหาได้ วัน ที่ย้อนหลัง จากวันที่เรากำหนดได้เปล่า เช่น จะหาย้อนไป 28 วันของวันที่ 1/12/2550 ว่าเป็นวันที่เท่าไหรอะครับ นี้เลยครับคำสั่ง
         
         SELECT FROM_DAYS(TO_DAYS("2007-12-01")-28) as dd ค่าที่ได้คือ 3/11/2550 นี่คือคำตอบ

หรือ วันใช้ SELECT SUBDATE('1998-01-02', INTERVAL 28 day) as dd ผลที่ได้ก็คือ 2007-11-03 มีค่าเท่ากัน
       เดือนใช้ SELECT SUBDATE("2007-12-01", INTERVAL 1 MONTH) as dd ผลที่ได้คือ 2007-11-01
       ถ้าปีก็ SELECT SUBDATE("2007-12-01", INTERVAL 1 year) as dd ผลที่ได้คือ 2006-12-01
หัวข้อ: Re: Funtion ในการคำนวนวันที่เวลา
เริ่มหัวข้อโดย: ittipol ที่ มกราคม 22, 2014, 08:37:31 AM
เยี่ยมเลยครับ
ขอบคุณครับ
หัวข้อ: Re: Funtion ในการคำนวนวันที่เวลา
เริ่มหัวข้อโดย: ิboing ที่ มิถุนายน 23, 2015, 10:11:05 AM
ท่านพี่ครับตอนนี้ทำโปรแกรมสอบเทียบอยู่ แต่จะให้มันแจ้งเตือนก่อนถึงเวลาสอบเทียบล่วงหน้ายังไงอ่ะครับ
แบบมีเทเบิ้ลตัวนึงไว้เก็บค่าความถี่ที่จะสอบเทียบ คือ ChecjBox รับค่า ความถี่ 3 เดือน 6 เดือน 1ปี อ่ะ แล้วเอาไปคูณกับวันเวลารับอุปกรณ์เข้า เท่ากับค่าที่จะสอบเทียบครั้งที่ 1 อ่ะครับ รบกวนผู้รู้แนะแนวทางให้หน่อยคร้าบบบบ