Re: How can I use Operand (+ , - ) with Time
On Jan 15, 6:19 pm, Jeff Higgins <j...@invalid.invalid> wrote:
On 01/15/2012 08:32 AM, Jeff Higgins wrote:
On 01/15/2012 02:44 AM, sahm wrote:
Hi every One
I'm Try to do program to calculate the Over Time, I'm working with 24
hour not A.M.& P.M. and this is my Time format (HH:MM:SS) (00:00:00).
But how can I use operand (+, -) with Time
See Stefan for the answer.
An alternative follows.
This is my Code
/////////////////////////////////////////////////////////////////////
import java.sql.Time;
import java.util.Date;
public class OverTimeDetailsDataClass {
String Emp_ID;
String OverTime_Doc_NO;
String OverTime_Date;
Time OverTime_Start_Time;
Time OverTime_End_Time;
Time OverTimeTotalHours;
OverTime_Start_Time =
Time.valueOf(OverTimeFromjTextField.getText());
OverTime_End_Time = Time.valueOf(OverTimeTOjTextField.getText());
OverTimeTotalHours = OverTime_End_Time - OverTime_Start_Time;
}
import java.sql.Time;
import java.util.Calendar;
import java.util.Locale;
import java.util.TimeZone;
import javax.swing.JTextField;
public class OT {
public static void main(String[] args) {
JTextField OverTimeFromjTextField = null;
JTextField OverTimeTOjTextField = null;
// The abstract class java.text.DateFormat
// and it's concrete java.text.SimpleDateFormat
// are good for getting/setting formatted input/output
Time OverTime_Start_Time;
Time OverTime_End_Time;
// Unless you are using the JDBC API
// you should avoid using the java.sql classes:
// java.sql.Date, java.sql.Time, java.sql.Timestamp
// in favor of java.util.Date, java.util.Calendar,
// java.util.GregorianCalendar, java.util.Locale,
// java.util.TimeZone, java.util.SimpleTimeZone
// Be aware: read the documentation for java.util.Calendar
TimeZone timeZone = TimeZone.getDefault();
Locale locale = Locale.getDefault();
Calendar startTime = Calendar.getInstance(timeZone,locale);
Calendar endTime = Calendar.getInstance(timeZone,locale);
OverTime_Start_Time =
Time.valueOf(OverTimeFromjTextField.getText());
OverTime_End_Time = Time.valueOf(OverTimeTOjTextField.getText());
startTime.setTime(OverTime_Start_Time);
endTime.setTime(OverTime_End_Time);
// use the java.util.Calendar.add(int field, int amount) method
// as described in the documentation.
}
}
Thank you every one
I fix the problem with simple function
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Time getTotalOverTime(Time StrtTime, Time EndTime)
{
Time TotalHours = null;
String ST, ET, TH;
int stH, stM, stS, etH, etM, etS, ttH, ttM, ttS;
ST = String.valueOf(StrtTime);
ET = String.valueOf(EndTime);
stH = Integer.parseInt(ST.substring(0, 2));
stM = Integer.parseInt(ST.substring(3, 5));
stS = Integer.parseInt(ST.substring(6, 8));
etH = Integer.parseInt(ET.substring(0, 2));
etM = Integer.parseInt(ET.substring(3, 5));
etS = Integer.parseInt(ET.substring(6, 8));
ttS = etS - stS;
if(ttS < 0)
{
ttS =+ 60;
etM =- 1;
}
ttM = etM - stM;
if(ttM < 0)
{
ttM =+ 60;
etH =- 1;
}
ttH = etH - stH;
TH = String.valueOf(ttH) +":"+ String.valueOf(ttM) +":"+
String.valueOf(ttS);
TotalHours = Time.valueOf(TH);
return TotalHours;
}
////////////////////////////////////////
Best
Salim