皮皮网

【coinprism 项目源码】【趋势浪公式源码】【奢香堂源码】timezone源码 java

来源:诛仙源码 时间:2024-12-24 10:23:31

1.JAVA 编写时钟程序
2.java中的new date()
3.java中时区转换的源码方法有哪些?
4.全网最全!彻底弄透Java处理GMT-UTC日期时间
5.java DateFormat类的.setTimeZone(TimeZone zone)怎样使用?

timezone源码 java

JAVA 编写时钟程序

       分太少了啊

       给你一个只实现了时钟的面板。

       import java.util.*;

       import javax.swing.*;

       import java.awt.*;

       import java.awt.event.*;

       import javax.swing.Timer;

       public class Clock extends JFrame implements ActionListener

        {

        private static final long serialVersionUID = L;

        Timer timer;

        int x,源码y,old_X,old_Y, r,x0,y0,w,h,ang;

        int sdo,mdo,hdo,old_M,old_H;

        TimeZone tz =TimeZone.getTimeZone("JST");

        final double RAD=Math.PI/.0;

       public Clock()

        {

        super("时钟");

        setSize(,);

        setBackground(new Color(0,0,));

        setResizable(false);

        Dimension scr=Toolkit.getDefaultToolkit().getScreenSize();

        Dimension fra=this.getSize();

        if(fra.width>scr.width)

        {

        fra.width=scr.width;

        }

        if(fra.height>scr.height)

        {

        fra.height=scr.height;

        }

        this.setLocation((scr.width-fra.width)/2,(scr.height-fra.height)/2);

        setVisible(true);

        int delay = ;

        ActionListener taskPerformer = new ActionListener()

        {

        public void actionPerformed(ActionEvent evt)

        {

        repaint();

        }

        };

        new Timer(delay, taskPerformer).start();

        }

        public void actionPerformed(ActionEvent e)

        {

        timer.restart();

        }

        public void paint( Graphics g )

        {

        Insets insets = getInsets();

        int L0 = (insets.left)/2, T0 = (insets.top)/2;

        int hh,mm,ss;

        String st;

        h=getSize().height;

        g.setColor(Color.white);

        g.drawOval(L0+,T0+,h-,h-);

        g.drawOval(L0+,T0+,h-,h-);

        r=h/2-;

        x0=+r-5+L0;

        y0=+r-5-T0;

        ang=;

        for (int i=1; i<=; i++)

        {

        x=(int)((r+)*Math.cos(RAD*ang)+x0);

        y=(int)((r+)*Math.sin(RAD*ang)+y0);

        g.drawString(""+i,x,h-y);

        ang-=;

        }

        x0=+r+L0; y0=+r+T0;

        Calendar now=Calendar.getInstance();

        hh=now.get(Calendar.HOUR_OF_DAY);

        mm=now.get(Calendar.MINUTE);

        ss=now.get(Calendar.SECOND);

        g.setColor(Color.pink);

        g.fillRect(L0,T0,,);

        g.setColor(Color.blue);

        if (hh < ) st="0"+hh; else st=""+hh;

        if (mm < ) st=st+":0"+mm; else st=st+":"+mm;

        if (ss < ) st=st+":0"+ss; else st=st+":"+ss;

        g.drawString(st,L0,T0+);

        sdo=-ss*6;

        mdo=-mm*6;

        hdo=-hh*-mm/2;

        if (old_X > 0)

        {

        g.setColor(getBackground());

        g.drawLine(x0,y0,old_X,(h-old_Y));

        } else

        {

        old_M=mdo;

        old_H=hdo;

        }

        g.setColor(Color.yellow);

        x=(int)((r-8)*Math.cos(RAD*sdo)+x0);

        y=(int)((r-8)*Math.sin(RAD*sdo)+y0)-2*T0;

        g.drawLine(x0,y0,x,(h-y));

        old_X=x;

        old_Y=y;

        if (mdo != old_M)

        {

        line(g,old_M,(int)(r*0.7),getBackground());

        old_M=mdo;

        }

        if (hdo != old_H)

        {

        line(g,old_H,(int)(r*0.5),getBackground());

        old_H=hdo;

        }

        line(g,mdo,(int)(r*0.7),Color.green);

        line(g,hdo,(int)(r*0.5),Color.red);

        }

        public void line(Graphics g, int t, int n, Color c)

        {

        int [] xp = new int[4];

        int [] yp = new int[4];

        xp[0]=x0;

        yp[0]=y0;

        xp[1]= (int)((n-)*Math.cos(RAD*(t-4))+x0);

        yp[1]=h-(int)((n-)*Math.sin(RAD*(t-4))+y0);

        xp[2]= (int)( n *Math.cos(RAD* t )+x0);

        yp[2]=h-(int)( n *Math.sin(RAD* t )+y0);

        xp[3]= (int)((n-)*Math.cos(RAD*(t+4))+x0);

        yp[3]=h-(int)((n-)*Math.sin(RAD*(t+4))+y0);

        g.setColor(c);

        g.fillPolygon(xp,yp,4);

        }

        public static void main(String args[])

        {

        new Clock();

        }

        }

java中的new date()

       ä½ çš„这个问题系 系统 JVM的事,可以设置下时区,通过以下的语句:

       import java.util.*;

       TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");

       TimeZone.setDefault(tz);

       //显示Java能识别的系统中所有正确的时区

       /**

       String[] ids = TimeZone.getAvailableIDs();

       for(int i = 0; i < ids.length; i++)

       System.out.println(ids[i].toString());

       */

java中时区转换的方法有哪些?

       在 Java 中进行时区转换的方法主要有以下几种:

       1. 使用 java.util.TimeZone 类

       可以通过 java.util.TimeZone 类表示不同的时区。通过其静态方法 getTimeZone(String ID) 获取指定时区标识符的源码 TimeZone 实例。接着使用 Calendar 类的源码 setTimeZone(TimeZone tz) 方法将 Calendar 实例设置为特定时区。

       2. 使用 java.time API

       从 Java 8 开始,源码java.time API 提供了更简便的源码coinprism 项目源码时区转换功能。使用 ZoneId 类表示时区,源码通过 ZonedDateTime 类表示带有时区信息的源码日期时间。同样也可以使用 Instant 类表示不带时区信息的源码日期时间,并通过 atZone(ZoneId zone) 方法转换为带有时区信息的源码日期时间。

       3. 使用第三方库

       除了内置方法,源码还可以借助第三方库如 Joda-Time、源码趋势浪公式源码Apache Commons Lang、源码ThreeTen-Extra、源码Date4J 和 JTimezones 进行时区转换。源码这些库提供了更多功能和灵活性,可根据具体需求选择。

       3.1. Joda-Time

       Joda-Time 是一个流行的日期时间处理库,通过 DateTimeZone 类表示时区。使用 DateTime 类表示带有时区信息的日期时间。通过 DateTimeFormatter 类解析字符串为带有时区信息的日期时间。

       3.2. Apache Commons Lang

       Apache Commons Lang 是一个常用工具库,包含日期时间处理工具类。奢香堂源码使用 TimeZoneUtils 类进行时区转换。

       3.3. ThreeTen-Extra

       ThreeTen-Extra 是 JDK 8 中 java.time API 的扩展,提供额外日期时间类和工具类。包含 DateTimeUtils 类进行时区转换。

       3.4. Date4J

       Date4J 类似于 Joda-Time,提供日期时间类和工具类。通过 DateTimeZone 表示时区。使用 DateTime 表示带有时区信息的日期时间。借助 DateUtils 类进行时区转换。

       3.5. JTimezones

       JTimezones 是基于 IANA 时区数据库的 Java 时区转换库,提供日期时间处理工具类。大蛇鱼站源码使用 TimeZoneConverter 类进行时区转换,传递源时区和目标时区作为参数。

       以上概述了 Java 中常用时区转换方法,覆盖了内置类和第三方库。

全网最全!彻底弄透Java处理GMT-UTC日期时间

       全网最全!彻底弄透Java处理GMT/UTC日期时间

       在编程工作中,时间处理经常是遇到的一大挑战。本文将带你深入了解Java中如何实现和操作格林威治标准时间(GMT)和协调世界时间(UTC)。

       在JDK中,处理日期/时间主要依赖于两套API:JDK 1.0的`java.util.Date`和JDK 8之后引入的JSR 日期时间API。本文将分别对这两套API进行讲解。全天指标源码推荐

       **Date类型实现

**

       `java.util.Date`在JDK 1.0版本中就已存在,用于表示日期 + 时间。尽管年代久远,存在诸多问题,但由于其长久的历史和广泛的应用,`Date`类依然拥有庞大的用户群。

       通过一个示例,我们可以看到`Date`类的输出结果包含了标准的UTC时间、本地时间以及格林威治时间。`java.text.DateFormat`类用于格式化日期时间。

       **时区/偏移量TimeZone

**

       在JDK 8之前,Java使用`java.util.TimeZone`表示时区和偏移量。通过`TimeZone.getDefault()`可以获取当前JVM的默认时区。若需获取其他时区,可以通过`TimeZone.getTimeZone()`方法实现。

       在跨时区转换时,可以使用`TimeZone`类的时区ID来获取指定时区的时间。注意,时区ID具有稳定性,而偏移量则可能在某些国家/地区因夏令时的调整而变化。

       **ZoneId与ZoneOffset

**

       在JDK 8中,引入了`java.time.ZoneId`和`java.time.ZoneOffset`来表示时区和偏移量。`ZoneId`提供了一个统一的时区表示方式,而`ZoneOffset`则用于表示特定时间与格林威治标准时间之间的时差。

       为了减少夏令时对时间处理的复杂性,使用`ZoneId`可以更好地处理不同国家/地区的夏令时规则。而`ZoneOffset`则提供了固定的时差表示,适用于没有夏令时的地区。

       **JSR 类型

**

       考虑到`Date`类的局限性,Java 8引入了JSR 日期时间API,包括`LocalDate`、`LocalTime`、`LocalDateTime`等类,以及`ZonedDateTime`和`OffsetDateTime`等带时区的日期时间表示。

       JSR 提供了对日期和时间的分离表示,使得时间和时区的管理更加灵活和直观。通过这些API,可以方便地实现跨时区的时间转换和显示。

       **总结

**

       本文详细介绍了Java中处理GMT和UTC日期时间的多个方面,包括使用`Date`类的基本操作、`TimeZone`和`ZoneId`的使用、JSR 日期时间API的特性等。

       为了简化时间处理,推荐在项目中弃用`Date`类,转而使用JSR 日期时间API,这将带来更强大、更灵活的日期时间处理能力,同时也减少了许多历史遗留问题和复杂性。

java DateFormat类的.setTimeZone(TimeZone zone)怎样使用?

       setTimeZone

       public void setTimeZone(TimeZone zone)

       为此 DateFormat 对象的日历设置时区。

       参数:

       zone - 给定的新时区。

       TimeZone

getDefault

       public static TimeZone getDefault()

       获取此主机的默认 TimeZone。默认 TimeZone 的来源可能随实现的变化而变化。

       返回:

       默认的 TimeZone。

       另请参见:

       setDefault(java.util.TimeZone)getTimeZone

       public static TimeZone getTimeZone(String ID)

       获取给定 ID 的 TimeZone。

       参数:

       ID - TimeZone 的 ID,要么是缩写(如 "PST" ),要么是全名(如 "America/Los_Angeles"),要么是自定义 ID(如 "GMT-8:")。注意,对缩写的支持只是出于 JDK 1.1.x 兼容性的考虑,因此应该使用全名。

       返回:

       指定的 TimeZone,如果给定的 ID 无法理解,则返回 GMT 区域。 DateFormat dateFormat = new SimpleDateFormat();

               //dateFormat.setTimeZone(TimeZone.getDefault());

               dateFormat.setTimeZone(TimeZone.getTimeZone("EET"));

               System.out.println(dateFormat.format(new Date()));