java視窗程序字串時間轉成時間戳記

來源:互聯網
上載者:User

標籤:log   pid   valueof   def   group   tran   org   factory   efault   

pom.xml 檔案:

?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <parent>        <artifactId>base</artifactId>        <groupId>com.bigdata</groupId>        <version>1.0</version>    </parent>    <modelVersion>4.0.0</modelVersion>    <artifactId>base-tools</artifactId>    <dependencies>        <dependency>            <groupId>commons-lang</groupId>            <artifactId>commons-lang</artifactId>            <version>2.6</version>        </dependency>        <dependency>            <groupId>org.eclipse.swt</groupId>            <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>            <version>4.3</version>        </dependency>        <dependency>            <artifactId>log4j</artifactId>            <groupId>log4j</groupId>            <version>1.2.17</version>        </dependency>        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-log4j12</artifactId>            <version>${slf4j.version}</version>            <exclusions>                <exclusion>                    <artifactId>log4j</artifactId>                    <groupId>log4j</groupId>                </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>org.eclipse.swt</groupId>            <artifactId>swing2swt</artifactId>            <version>1.0</version>        </dependency>        <dependency>            <groupId>commons-io</groupId>            <artifactId>commons-io</artifactId>            <version>2.4</version>        </dependency>        <dependency>            <groupId>commons-collections</groupId>            <artifactId>commons-collections</artifactId>            <version>3.2.1</version>        </dependency>    </dependencies>    <build>        <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-shade-plugin</artifactId>                <version>2.4.1</version>                <executions>                    <execution>                        <phase>package</phase>                        <goals>                            <goal>shade</goal>                        </goals>                        <configuration>                            <transformers>                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">                                    <mainClass>com.hikvision.cods.ui.DateFormatMainUI</mainClass>                                </transformer>                            </transformers>                        </configuration>                    </execution>                </executions>            </plugin>        </plugins>    </build></project>

  

類:

import com.hikvision.cods.util.FontUtils;import java.awt.Dimension;import java.awt.Toolkit;import java.util.Date;import java.util.Properties;import org.apache.commons.lang.StringUtils;import org.apache.commons.lang.math.NumberUtils;import org.apache.log4j.PropertyConfigurator;import org.eclipse.swt.events.FocusEvent;import org.eclipse.swt.events.FocusListener;import org.eclipse.swt.events.MouseEvent;import org.eclipse.swt.events.MouseListener;import org.eclipse.swt.events.ShellAdapter;import org.eclipse.swt.events.ShellEvent;import org.eclipse.swt.layout.GridData;import org.eclipse.swt.layout.GridLayout;import org.eclipse.swt.widgets.Composite;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Group;import org.eclipse.swt.widgets.Label;import org.eclipse.swt.widgets.MessageBox;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Text;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import swing2swt.layout.BorderLayout;public class DateFormatMainUI{    protected static final Logger logger = LoggerFactory.getLogger(DateFormatMainUI.class);    private static volatile boolean running = true;    public static final Display display = Display.getDefault();    public static final Shell shell = new Shell(192);    public static void main(String[] args)    {        Runtime.getRuntime().addShutdownHook(new Thread()        {            public void run()            {                DateFormatMainUI.logger.info("PerfMainUI closed!");                synchronized (DateFormatMainUI.class)                {                    DateFormatMainUI.running = false;                    DateFormatMainUI.class.notifyAll();                }            }        });        DateFormatMainUI window = new DateFormatMainUI();        window.configLog4j();        window.open();        synchronized (DateFormatMainUI.class)        {            while (running) {                try                {                    DateFormatMainUI.class.wait();                }                catch (Throwable localThrowable) {}            }        }    }    protected void open()    {        shell.setSize(500, 130);        shell.setText("日期格式轉換工具");        shell.setLayout(new BorderLayout(0, 0));        Composite subComposite = new Composite(shell, 0);        subComposite.setLayout(new BorderLayout(5, 5));        loadMainPanel(subComposite);        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();        int width = Math.min(shell.getSize().x, screenSize.width);        int height = Math.min(shell.getSize().y, screenSize.height);        int locX = (screenSize.width - width) / 2;        int locY = (screenSize.height - height) / 2;        shell.setLocation(locX, locY);        shell.open();        shell.layout();        shell.addShellListener(new ShellAdapter()        {            public void shellClosed(ShellEvent e)            {                MessageBox messagebox = new MessageBox(DateFormatMainUI.shell, 196);                messagebox.setText("確認");                messagebox.setMessage("您確定要退出嗎?");                int message = messagebox.open();                if (((e.doit = message == 64) ? 1 : 0) != 0)                {                    DateFormatMainUI.logger.info("++++++++++++++++++++++++++++++++");                    System.exit(0);                }            }        });        while (!shell.isDisposed()) {            if (!display.readAndDispatch()) {                display.sleep();            }        }        display.dispose();    }    protected void loadMainPanel(Composite parent)    {        Composite mainCenter = new Composite(parent, 0);        mainCenter.setLayoutData("Center");        GridLayout gl_mainCenter = new GridLayout(1, false);        gl_mainCenter.marginWidth = 0;        gl_mainCenter.marginHeight = 0;        gl_mainCenter.horizontalSpacing = 0;        gl_mainCenter.verticalSpacing = 0;        mainCenter.setLayout(gl_mainCenter);        Group detailGroup = new Group(mainCenter, 0);        detailGroup.setLayoutData(new GridData(4, 4, true, true, 1, 1));        detailGroup.setLayout(new GridLayout(5, false));        generateTextLabel(detailGroup, "日期字元: ");        final Text textDateStr = generateText(detailGroup, "", "dateStr");        generateSpliterLabel(detailGroup);        generateTextLabel(detailGroup, "日期數值: ");        final Text textDateNum = generateText(detailGroup, "", "dateNum");        generateSpliterLabel(detailGroup);        textDateStr.addFocusListener(new FocusListener()        {            public void focusLost(FocusEvent arg0)            {                textDateStr.clearSelection();                Date date = DateFormatUtils.toDate(textDateStr.getText(), "yyyy-MM-dd HH:mm:ss.SSS");                textDateNum.setText(String.valueOf(date == null ? 0L : date.getTime()));            }            public void focusGained(FocusEvent arg0)            {                System.out.println("dateStr focusGained..............................");                textDateStr.selectAll();            }        });        textDateStr.addMouseListener(new MouseListener()        {            public void mouseUp(MouseEvent arg0) {}            public void mouseDown(MouseEvent arg0) {}            public void mouseDoubleClick(MouseEvent arg0)            {                textDateStr.selectAll();            }        });        textDateNum.addFocusListener(new FocusListener()        {            public void focusLost(FocusEvent arg0)            {                textDateNum.clearSelection();                textDateStr.setText(DateFormatUtils.format(NumberUtils.toLong(textDateNum.getText()), "yyyy-MM-dd HH:mm:ss.SSS"));            }            public void focusGained(FocusEvent arg0)            {                System.out.println("dateNum focusGained..............................");                textDateNum.selectAll();            }        });        textDateNum.addMouseListener(new MouseListener()        {            public void mouseUp(MouseEvent arg0) {}            public void mouseDown(MouseEvent arg0) {}            public void mouseDoubleClick(MouseEvent arg0)            {                textDateNum.selectAll();            }        });    }    private void convert(Text textDateStr, Text textDateLong)    {        String dateStr = textDateStr.getText();        String dateNum = textDateLong.getText();        if (StringUtils.isEmpty(dateStr))        {            if (StringUtils.isEmpty(dateNum))            {                long timeInMillis = System.currentTimeMillis();                textDateStr.setText(DateFormatUtils.format(timeInMillis, "yyyy-MM-dd HH:mm:ss.SSS"));                textDateLong.setText(String.valueOf(timeInMillis));            }            else            {                long timeInMillis = NumberUtils.toLong(dateNum);                textDateStr.setText(DateFormatUtils.format(timeInMillis, "yyyy-MM-dd HH:mm:ss.SSS"));            }        }        else if (StringUtils.isEmpty(dateNum))        {            Date date = DateFormatUtils.toDate(dateStr, "yyyy-MM-dd HH:mm:ss.SSS");            textDateLong.setText(String.valueOf(date == null ? 0L : date.getTime()));        }    }    private void generateSpliterLabel(Group parentGroup)    {        Label label = new Label(parentGroup, 16777224);        label.setLayoutData(new GridData(131072, 16777216, true, false, 1, 1));    }    private void generateTextLabel(Group parentGroup, String labelText)    {        Label label = new Label(parentGroup, 16777224);        label.setLayoutData(new GridData(131072, 16777216, true, false, 1, 1));        label.setText(labelText);        label.setFont(FontUtils.getConsolas());    }    private Text generateText(Group parentGroup, String defaultText, String name)    {        Text text = new Text(parentGroup, 2048);        GridData gridData = new GridData(4, 16777216, true, false, 3, 1);        gridData.widthHint = 280;        gridData.heightHint= 20;        text.setLayoutData(gridData);        text.setData("name", name);        text.setText(defaultText);        text.setTextLimit(50);        text.setFont(FontUtils.getConsolas());        return text;    }    protected void configLog4j()    {        String level = "DEBUG";        Properties properties = new Properties();        properties.setProperty("log4j.rootLogger", level + ", application");        properties.setProperty("log4j.rootLogger.encoding", "UTF-8");        properties.setProperty("log4j.logger.org.apache", "INFO");        properties.setProperty("log4j.logger.org.springframework", "INFO");        properties.setProperty("log4j.appender.application", "org.apache.log4j.DailyRollingFileAppender");        properties.setProperty("log4j.appender.application.File", "DateFormatMainUI.log");        properties.setProperty("log4j.appender.application.Append", "true");        properties.setProperty("log4j.appender.application.DatePattern", "‘.‘yyyy-MM-dd");        properties.setProperty("log4j.appender.application.layout", "org.apache.log4j.PatternLayout");        properties.setProperty("log4j.appender.application.layout.ConversionPattern", "%d [%t] %-5p %C{6} (%F:%L) - %m%n");        PropertyConfigurator.configure(properties);    }}

 

 

 

 

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import org.apache.commons.lang.time.FastDateFormat;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class DateFormatUtils{    protected static final Logger LOGGER = LoggerFactory.getLogger(DateFormatUtils.class);    public static final String DATE_TIME_FORMATTER_DEFAULT = "yyyy-MM-dd‘T‘HH:mm:ss‘Z‘";    public static final String DATE_TIME_FORMATTER_STANDARD = "yyyy-MM-dd HH:mm:ss";    public static final String DATE_TIME_FORMATTER_STANDARD_TZ = "yyyy-MM-dd‘T‘HH:mm:ss‘Z‘";    public static final String DATE_TIME_FORMATTER_LONG = "yyyy-MM-dd HH:mm:ss.SSS";    public static final String DATE_TIME_FORMATTER_LONG_TZ = "yyyy-MM-dd‘T‘HH:mm:ss.SSS‘Z‘";    public static final String DATE_TIME_FORMATTER_NET = "yyyy-MM-dd HH:mm:ss.SSS";    public static final long TIMEMILLIS_FOR_ONE_DAY = 86400000L;    public static String format(long date)    {        FastDateFormat df = FastDateFormat.getInstance("yyyy-MM-dd‘T‘HH:mm:ss‘Z‘");        return df.format(date);    }    public static String format(long date, String format)    {        FastDateFormat df = FastDateFormat.getInstance(format);        return df.format(date);    }    public static String format(Date date)    {        FastDateFormat df = FastDateFormat.getInstance("yyyy-MM-dd‘T‘HH:mm:ss‘Z‘");        return df.format(date);    }    public static String format(Date date, String format)    {        FastDateFormat df = FastDateFormat.getInstance(format);        return df.format(date);    }    public static String format(String dateStr, String srcFormat, String dstFormat)    {        Date date = toDate(dateStr, srcFormat);        FastDateFormat df = FastDateFormat.getInstance(dstFormat);        return df.format(date);    }    public static Date toDate(String dateStr, String pattern)    {        try        {            SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);            return dateFormat.parse(dateStr);        }        catch (ParseException e) {}        return null;    }    public static String format___(Date date)    {        FastDateFormat df = FastDateFormat.getInstance("yyyyMMddhh");        return df.format(date);    }    public static long getMonthFirstDay(long timeInMillis)    {        Calendar calendar = Calendar.getInstance();        calendar.setTimeInMillis(timeInMillis);        calendar.set(5, calendar.getActualMinimum(5));        calendar.set(11, calendar.getActualMinimum(11));        calendar.set(12, calendar.getActualMinimum(12));        calendar.set(13, calendar.getActualMinimum(13));        calendar.set(14, calendar.getActualMinimum(14));        return calendar.getTime().getTime();    }    public static long getMonthLastDay(long timeInMillis)    {        Calendar calendar = Calendar.getInstance();        calendar.setTimeInMillis(timeInMillis);        calendar.set(5, calendar.getActualMaximum(5));        calendar.set(11, calendar.getActualMaximum(11));        calendar.set(12, calendar.getActualMaximum(12));        calendar.set(13, calendar.getActualMaximum(13));        calendar.set(14, calendar.getActualMaximum(14));        return calendar.getTime().getTime();    }    public static long getDateBeginTime(long timeInMillis)    {        Calendar calendar = Calendar.getInstance();        calendar.setTimeInMillis(timeInMillis);        calendar.set(11, calendar.getActualMinimum(11));        calendar.set(12, calendar.getActualMinimum(12));        calendar.set(13, calendar.getActualMinimum(13));        calendar.set(14, calendar.getActualMinimum(14));        return calendar.getTime().getTime();    }    public static long getDateEndTime(long timeInMillis)    {        Calendar calendar = Calendar.getInstance();        calendar.setTimeInMillis(timeInMillis);        calendar.set(11, calendar.getActualMaximum(11));        calendar.set(12, calendar.getActualMaximum(12));        calendar.set(13, calendar.getActualMaximum(13));        calendar.set(14, calendar.getActualMaximum(14));        return calendar.getTime().getTime();    }    public static String getNextDay(String dateStr, String format)    {        Date date = toDate(dateStr, format);        Calendar calendar = Calendar.getInstance();        calendar.setTime(date);        calendar.set(5, calendar.get(5) + 1);        return format(calendar.getTime(), format);    }    public static String getLatestSunday(String dateStr, String format)    {        Date date = toDate(dateStr, format);        Calendar calendar = Calendar.getInstance();        calendar.setTime(date);        return format(date.getTime() + (8 - calendar.get(7)) * 86400000L, format);    }    public static String getLatestMonthEnd(String dateStr, String format)    {        Date date = toDate(dateStr, format);        Calendar calendar = Calendar.getInstance();        calendar.setTime(date);        calendar.set(2, calendar.get(2) + 1);        calendar.set(5, calendar.getActualMinimum(5));        return format(calendar.getTime(), format);    }    public static void main(String[] args)    {        System.out.println(getNextDay("150205", "yyMMdd"));        System.out.println(getLatestSunday("150205", "yyMMdd"));        System.out.println(getLatestMonthEnd("150205", "yyMMdd"));        System.out.println(getNextDay("150208", "yyMMdd"));        System.out.println(getLatestSunday("150209", "yyMMdd"));        System.out.println(getLatestMonthEnd("150209", "yyMMdd"));    }}

  

 

import org.eclipse.swt.graphics.Font;import org.eclipse.swt.widgets.Display;public class FontUtils{    static final int FONT_HIGHT_DEFAULT = 12;    static final int FONT_HIGHT_BANNER = 30;    static Font bannerFont = new Font(Display.getCurrent(), "黑體", 30, 1);    static Font consolas = new Font(Display.getCurrent(), "Consolas", 12, 0);    public static Font getBanner()    {        return bannerFont;    }    public static Font getConsolas()    {        return consolas;    }}

  

 

java視窗程序字串時間轉成時間戳記

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.