码迷,mamicode.com
首页 > 编程语言 > 详细

java窗口程序字符串时间转成时间戳

时间:2017-12-23 15:57:04      阅读:244      评论:0      收藏:0      [点我收藏+]

标签: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窗口程序字符串时间转成时间戳

标签:log   pid   valueof   def   group   tran   org   factory   efault   

原文地址:http://www.cnblogs.com/yangh2016/p/8093240.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!