添加时区小时差异

时间:2010-04-23 03:05:11

标签: actionscript-3 timezone gettime

我知道有更好更正确的方法,但我需要暂时的解决方案。我需要额外增加几小时的时间,这一天也会自动改变。我该如何更改以下代码?

package {
public class getTime {
    private var today:Date=new Date();
    private var hour:uint=today.getHours();
    private var minute:uint=today.getMinutes();
    private var month:uint=today.getMonth();
    private var monthArray:Array=new Array('January','February','March','April','May','June','July','August','September','October','November','December');
    private var time:String = getUSClockTime(today.getHours(), today.getMinutes());
    public var dateNtime:String=(time+", " +today.getDate()+" "+monthArray[month]+" "+today.getFullYear());;

    public function getTime() {
    }

    private function getUSClockTime(hrs:uint, mins:uint):String {
        var modifier:String="PM";
        var minLabel:String=doubleDigitFormat(mins);

        if (hrs>12) {
            hrs=hrs-12;
        } else if (hrs == 0) {
            modifier="AM";
            hrs=12;
        } else if (hrs < 12) {
            modifier="AM";
        }

        return (doubleDigitFormat(hrs) + ":" + minLabel + " " + modifier);
    }

    private function doubleDigitFormat(num):String {
        if (num<10) {
            return ("0" + num);
        }
        return num;
    }
}
}

1 个答案:

答案 0 :(得分:0)

您能澄清一下代码目前正在做什么以及它应该以不同的方式做什么?

我能想到的最简单的方法是使用Date对象:

  1. 使用您的初始时间创建Date个实例。
  2. 使用dateInstance.getTime()获取时间,以毫秒为单位。
  3. 以毫秒为单位添加时区差异。
  4. 从更新时间(以毫秒为单位)创建新的Date
  5. 根据需要执行任何字符串操作以格式化日期。
  6. 这样,Date类负责处理新的日期和时间。