精华内容
下载资源
问答
  • 日期和时间格式由 日期和时间模式字符串 指定。...只是在格式化时它们简单复制到输出字符串白话文的讲:这些A——Z,a——z这些字母(不被单引号包围的)会被特殊处理替换为对应的日期时间,其他的字...

    日期和时间格式由 日期和时间模式字符串 指定。在 日期和时间模式字符串 中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (') 引起来,以免进行解释。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串
    白话文的讲:这些A——Z,a——z这些字母(不被单引号包围的)会被特殊处理替换为对应的日期时间,其他的字符串还是原样输出。

    日期和时间模式(注意大小写,代表的含义是不同的)

    yyyy:年
    MM:月
    dd:日
    hh:1~12小时制(1-12)
    HH:24小时制(0-23)
    mm:分
    ss:秒
    S:毫秒
    E:星期几
    D:一年中的第几天
    F:一月中的第几个星期(会把这个月总共过的天数除以7)
    w:一年中的第几个星期
    W:一月中的第几星期(会根据实际情况来算)
    a:上下午标识
    k:和HH差不多,表示一天24小时制(1-24)。
    K:和hh差不多,表示一天12小时制(0-11)。
    z:表示时区  

    (2017-12-28日,更新)

    因为看到了Java 8 里面对日期的格式化操作的API,回头又看了看这个以前的日期格式化。发现,文中的实例不是很全面。不符合湿胸的性格,特地来完善一下。

        private static void formatDataTest() {
            /*
             * 日期转期望格式的字符串
             */
            //HH 和 hh 的差别:前者是24小时制,后者是12小时制。
            StringBuilder sb = new StringBuilder();
            sb.append("yyyy年MM月dd日 HH:mm:ss")
                    .append(" 上下午标志 a")
                    .append(" E")
                    .append(" 一年中的第D天")
                    .append(" 一月中的第F个星期")
                    .append(" 一年中的第w个星期")
                    .append(" 一月中的第W个星期")
                    .append(" Z")
                    .append(" z");
            SimpleDateFormat sdf = new SimpleDateFormat(sb.toString());
            String dateString = sdf.format(new Date());
            System.out.println(dateString);
            /*
             * 字符串转日期
             */
            Date date;
            try {
                date = sdf.parse(dateString);
                System.out.println(date);
            } catch (ParseException e) {
                System.out.println(e.getMessage());
            }
        }

    运行结果:
    2017年12月28日 18:21:731 上下午标志 下午 星期四 一年中的第362天 一月中的第4个星期 一年中的第52个星期 一月中的第5个星期 +0800 CST
    Thu Dec 28 18:21:00 CST 2017

     

    这里多说一句,一个月中的第几个星期,  F   这个出来的结果,不靠谱,具体我就在这多做测试啦,我是测试过,才这么说的,还是后面的那个  W  靠谱。

    (更新完成)

    具体简单常见的实例:

    package com.lxk.DateFormat;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    /**
     * Created by lxk on 2016/11/4
     */
    public class Format {
        public static void main(String[] args) {
            Date ss = new Date();
            System.out.println("一般日期输出:" + ss);
            System.out.println("时间戳:" + ss.getTime());
            //Date aw = Calendar.getInstance().getTime();//获得时间的另一种方式,测试效果一样
            SimpleDateFormat format0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String time = format0.format(ss.getTime());//这个就是把时间戳经过处理得到期望格式的时间
            System.out.println("格式化结果0:" + time);
            SimpleDateFormat format1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
            time = format1.format(ss.getTime());
            System.out.println("格式化结果1:" + time);
        }
    }
    

    测试结果图:

    需要什么格式,自己拼好字符串,就可以格式化日期啦。授人以渔呀有木有。

    喷子们要是觉得简单呢,就省省唾沫星子吧。我就记个笔记用。

    上面的是:日期转自己想要的字符串格式,下面是字符串转日期类型

        private static void testStringToDate() {
            String s = "2017-05-25";
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            Date date = null;
            try {
                date = format.parse(s);
            } catch (ParseException e) {
                System.out.println(e.getMessage());
            }
            System.out.println(date);
        }

    下面是运行的debug截图。

    上面的那个  日期和时间模式  是按我们常用的年月日时分秒来放的,下面传个别人的专业的图,供参考。

    定义了以下模式字母(所有其他字符 'A' 到 'Z' 和 'a' 到 'z' 都被保留):

    我写完文章,给自己点个赞,不过分吧,
    不过分,那我可就点啦啊。
    我先点为敬,你们随意。大家随意。不要客气。。。

    展开全文
  • 以下是在SimpleDateFormat中解析日期的示例String string = "2014-04-21 17:35:00";Calendar calender = Calendar.getInstance();DateFormat format = new SimpleDateFormat( "yyyy-MM-dd kk:mm:ss");Date date;date...

    以下是在SimpleDateFormat中解析日期的示例

    String string = "2014-04-21 17:35:00";

    Calendar calender = Calendar.getInstance();

    DateFormat format = new SimpleDateFormat( "yyyy-MM-dd kk:mm:ss");

    Date date;

    date = format.parse( string );

    calender.setTime(date);

    System.out.println("Day of week: " + calender.get(Calendar.DAY_OF_WEEK)); //2 is monday

    System.out.println("Day of the month: " + calender.get(Calendar.DAY_OF_MONTH));

    System.out.println("Month: " + calender.get(Calendar.MONTH)); //0 is january 3 is april

    System.out.println("Year: " + calender.get(Calendar.YEAR));

    System.out.println("Hour: " + calender.get(Calendar.HOUR_OF_DAY));

    System.out.println("Minutes: " + calender.get(Calendar.MINUTE));

    展开全文
  • packageorg.nhooo.example.util;importjava.text.DateFormat;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassStringDateToLong{publicstaticvoidmai...

    package org.nhooo.example.util;

    import java.text.DateFormat;

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    public class StringDateToLong {

    public static void main(String[] args) {

    // 在这里,我们有一个字符串日期,我们希望将其隐藏为长值

    String today = "13/10/2017";

    // 创建一个SimpleDateFormat,它将用于将字符串转换为

    // 日期对象。

    DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");

    try {

    // SimpleDateFormat解析该字符串并返回一个日期对象。

    // 要获取长值日期,只需调用以下方法的getTime方法

    // Date对象。

    Date date = formatter.parse(today);

    long dateInLong = date.getTime();

    System.out.println("Date         = " + date);

    System.out.println("Date in Long = " + dateInLong);

    } catch (ParseException e) {

    e.printStackTrace();

    }

    }

    }

    代码段的结果:Date         = Fri Oct 13 00:00:00 WITA 2017

    Date in Long = 1507824000000

    展开全文
  • Sometimes we have to Convert String to Date in java program or convert Date to String in a different format for printing. 有时,我们必须在Java程序中将String转换为Date或... 将字符串转换为日期 (Convert ...

    Sometimes we have to Convert String to Date in java program or convert Date to String in a different format for printing.

    有时,我们必须在Java程序中将String转换为Date或以其他格式将Date转换为String才能打印。

    将字符串转换为日期 (Convert String to Date)

    Here is a simple scenario where we will have to convert String to Date in Java. The string is one of the most widely used Object in Java. If you are working in web services or web applications with form, you get a date in the form of the String object. So in the server side, we have to convert String to a Date object.

    这是一个简单的场景,我们将不得不在Java中将String转换为Date。 字符串是Java中使用最广泛的对象之一。 如果您使用表单使用Web服务或Web应用程序,则会以String对象的形式获取日期。 因此,在服务器端,我们必须将String转换为Date对象。

    将日期转换为字符串 (Convert Date to String)

    Similarly while showing date information on any web page, we have to convert Date to String in the required format. It’s a very common process and you will see some form of date on almost all the websites.

    同样,在任何网页上显示日期信息时,我们都必须将Date转换为所需格式的String。 这是一个非常常见的过程,您几乎会在所有网站上看到某种形式的日期。

    在Java中将字符串转换为日期 (Convert String to Date in Java)

    We have some specific classes in java for Date to String formatting. java.text.DateFormat is the abstract class for Date/Time formatting. java.text.SimpleDateFormat is the concrete class we use to convert String to Date and to convert Date to String in different formats.

    我们在Java中有一些特定的类,用于从日期到字符串的格式设置。 java.text.DateFormat是日期/时间格式的抽象类java.text.SimpleDateFormat是我们用来将String转换为Date以及将Date转换成不同格式的String的具体类。

    Let’s see how to convert String to Date and convert Date to String in java program.

    让我们看看如何在Java程序中将String转换为Date并将Date转换为String。

    package com.journaldev.util;
    
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Locale;
    
    /**
     * Convert String to Date in Java Example
     * Convert Date to String in Java Example
     * 
     * @author pankaj
     *
     */
    public class DateUtils {
    	public static void main(String[] args) {
    		// initialize SimpleDateFormat object
    		DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    
    		try {
    			// Convert String to Date in java
    			Date today = sdf.parse("14/11/2012");
    			System.out.println("Date is : " + today.toString());
    
    			// using locale
    			sdf = new SimpleDateFormat("dd-MMM-yyyy", Locale.CHINESE);
    			DateFormat sdf1 = new SimpleDateFormat("dd-MMM-yyyy", Locale.CANADA_FRENCH);
    
    			
    			today = new Date();
    			System.out.println("Default Date is : " + today.toString());
    
    			// Convert Date to String in Java
    			System.out.println("CHINESE Format Date : "+sdf.format(today));
    			System.out.println("CANADA_FRENCH Format Date : "+sdf1.format(today));
    
    		} catch (ParseException e) {
    			e.printStackTrace();
    		}
    	}
    }

    From example, it’s clear that we use parse(String str) method to convert String to Date object.

    从示例中可以明显看出,我们使用parse(String str)方法将String转换为Date对象。

    For converting Date to String, we use format(Date date) method. Note that both of these methods implementation is provided in DateFormat class and SimpleDateFormat inherits them through java inheritance.

    为了将Date转换为String,我们使用format(Date date)方法。 请注意,这两个方法的实现都在DateFormat类中提供,并且SimpleDateFormat通过java继承继承它们。

    DateFormat class supports TimeZone and Locale specific conversions also. That’s why you will see that the output of the above program varies based on locale information provided at the time of creating a SimpleDateFormat instance.

    DateFormat类还支持TimeZone和Locale特定的转换。 这就是为什么您会看到上述程序的输出根据创建SimpleDateFormat实例时提供的语言环境信息而变化的原因。

    DateFormat格式字符 (DateFormat format characters)

    Like java regular expression, we have to use specific characters to create the pattern to use by DateFormat class. Here is the list of all the important characters we should know:

    Java正则表达式一样,我们必须使用特定的字符来创建要由DateFormat类使用的模式。 这是我们应该知道的所有重要字符的列表:

    LetterDate or Time componentExample
    GEra DesignatorAD, BC
    yYear2012, 12
    MMonth in yearAug, 08
    wWeek in year27, 52
    Wweek in month2, 4
    dDay in month12, 31
    DDay in year365, 123
    uDay number of week, 1=Monday1, 7
    aAM/PM markerAM, PM
    Hhour in day (0-23)23
    khour in day (1-24)22
    Khour in AM/PM (0-11)10
    mminute in hour (0-59)23
    sSeconds in minute (0-59)43
    Smilliseconds (0-999)567
    zGeneral TimeZonePST, CST, GMT
    ZRFC 822 TimeZone-0800
    XISO 8601 TimeZone-08, -08:00
    日期或时间部分
    G 时代代号 公元前
    ÿ 2012,12
    中号 一年中的月份 08年8月
    w 一年中的一周 27、52
    w ^ 每月的周 2 4
    d 每月的一天 12、31
    d 一年中的一天 365、123
    ü 星期几,1 =星期一 1、7
    一个 AM / PM标记 上午下午
    H 一天中的小时(0-23) 23
    ķ 一天中的小时(1-24) 22
    ķ 上午/下午(0-11)小时 10
    每小时的分钟数(0-59) 23
    s 秒(0-59) 43
    小号 毫秒(0-999) 567
    ž 通用时区 PST,CST,GMT
    ž RFC 822时区 -0800
    X ISO 8601时区 -08,-08:00

    Java日期格式字符串 (Java Date Format String)

    Let’s extend our program a bit to support multiple String formats while parsing to Date. This situation can arise when you have a web page or XML field that supports multiple formats for passing date as a string.

    让我们对程序进行一些扩展,以在解析为Date时支持多种String格式。 当您的网页或XML字段支持将日期作为字符串传递的多种格式时,会出现这种情况。

    package com.journaldev.util;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    
    public class StringToDateUtil {
    
    	private List<SimpleDateFormat> sdfList;
    
    	// set the List of Format's you want to use
    	public StringToDateUtil(List<SimpleDateFormat> sdfList) throws Exception {
    		if (sdfList == null)
    			throw new Exception("sdfList can't be null");
    		this.sdfList = sdfList;
    	}
    
    	public Date stringToDate(String str) throws Exception {
    		if (str == null)
    			return null;
    		Date date = null;
    		// parse the input String with list of SimpleDateFormats we have
    		for (SimpleDateFormat sdf : sdfList) {
    			try {
    				date = sdf.parse(str);
    			} catch (ParseException pe) {
    				// do nothing, we need to try other format
    			}
    			// check if parsed successfully?
    			if (date != null)
    				break;
    		}
    		// return date if parsed successfully or else throw exception
    		if (date != null)
    			return date;
    		throw new Exception("invalid format for String:" + str);
    	}
    
    	public static void main(String args[]) throws Exception {
    		List<SimpleDateFormat> formatList = new ArrayList<>();
    		formatList.add(new SimpleDateFormat("dd MMM yyyy"));
    		formatList.add(new SimpleDateFormat("M/dd/yyyy"));
    		formatList.add(new SimpleDateFormat("M/dd/yyyy hh:mm:ss a"));
    		
    		StringToDateUtil sdUtil = new StringToDateUtil(formatList);
    		// Lets format some String to Date
    		
    		String[] arr = { "10 NOV 2012", "10/14/2012", "10/14/2012 10:45:30", "ABC", null };
    		for (String str : arr) {
    			try {
    				System.out.println(str + " Date Object = " + sdUtil.stringToDate(str));
    			} catch (Exception e) {
    				System.out.println(str + " is not a valid date");
    			}
    		}
    	}
    
    }

    In the above class, we are passing all the format’s of Date string that we are expecting and then stringToDate(String str) method use those to parse given String.

    在上面的类中,我们传递了我们期望的所有日期字符串格式,然后stringToDate(String str)方法使用这些格式来解析给定的String。

    Here is the output of the above program.

    这是上面程序的输出。

    10 NOV 2012 Date Object = Sat Nov 10 00:00:00 IST 2012
    10/14/2012 Date Object = Sun Oct 14 00:00:00 IST 2012
    10/14/2012 10:45:30 Date Object = Sun Oct 14 00:00:00 IST 2012
    ABC is not a valid date
    null Date Object = null

    Note that you should create static object for a list of formats in your application rather than initializing it all the time.

    请注意,您应该为应用程序中的格式列表创建静态对象,而不是始终对其进行初始化。

    You might also want to create Singleton class for this purpose.

    为此,您可能还需要创建Singleton类。

    DateFormat class is not thread-safe. So if you want thread safety, you need to create a wrapper class for SimpleDateFormat and implement synchronized format and parse methods that internally invokes DateFormat methods.

    DateFormat类不是线程安全的。 因此,如果希望线程安全,则需要为SimpleDateFormat创建包装器类 ,并实现内部调用DateFormat方法的同步格式和解析方法。

    Update: Java 8 new Date Time API provides easy and standard approach for handling parsing and date formatting, you should check it out at Java 8 Date tutorial.

    更新Java 8新的Date Time API为处理解析和日期格式提供了简单而标准的方法,您应该在Java 8 Date教程中进行检查。

    翻译自: https://www.journaldev.com/692/convert-string-date-java

    展开全文
  • 用法应该是:短(一根衬里)用字符串表示一次性对象(时区,格式)支持有用的,可排序的ISO格式以及包装盒中的旧格式如果您认为此代码有用,则可以在github中发布源代码和JAR。用法// The problem - not UTCDate....
  • 一、概述将Java字符串“ 2010年1月2日”格式的转换为日期的最佳方法是什么?最终,我想月份,日期和年份分解为整数,以便可以使用Date date = new Date();date.setMonth()..date.setYear()..date.setDay()..date...
  • 小编典典在特定情况下,“ 2010年1月2日”作为输入字符串:“一月”是全文月份,因此请使用MMMM模式“ 2”是较短的月份,因此请使用d模式。“ 2010”是4位数字的年份,因此请使用yyyy模式。String string = "January...
  • 如何在java中将当前日期转换为字符串?如何在Java中将当前日期转换为字符串?9个解决方案198 votesString date = new SimpleDateFormat("dd-MM-yyyy").format(new Date());Ian Purton answered 2019-07-22T17:00:10Z...
  • 现在,我想日期转换为日期格式,以便可以其以“ yyyy-mm-dd”格式存储在数据库中.我尝试使用SimpleDate格式进行转换,但出现错误.代码如下.救命.提前致谢.class dateDemo{public static void main(String args[])...
  • Java中Date()类 日期转字符串、字符串转日期的问题 今天在写东西的时候突然发现一个问题,就是先new 一个Date()然后生成的值转为字符串, 然后再转换后的字符串再次用new Date()转为日期,但是转完之后发现两...
  • Java时间字符串日期的转换

    千次阅读 2017-06-16 15:14:03
    前言:将时间字符串转换为日期格式,将时间戳转换为日期的方法,简单封装,直接使用。一. 将时间字符串转化为日期格式。例1:将字符串“20160325160000”转换为为“2016-03-25 16:00:00”的实现方法
  • //Mar 2016 使用java.time java-8 String actualDate = "2016-03-20"; DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.ENGLISH); DateTimeFormatter dtf2 = DateTimeFormatter.of...
  • 这里运动到了两种方法 ... 编写函数将字符串转成指定格式的日期package com.iflysse.test01;import java.util.Calendar; import java.util.Date; import java.text.SimpleDateFormat; import java.text.ParseExce
  • public class SimpleDateUtil {// 短日期格式public static String DATE_FORMAT = "yyyy-MM-dd";// 长日期格式public static String TIME_.../*** 将日期格式的字符串转换为长整型** @param date* @param format*...
  • 将Java(或任何编程语言)中的字符串转换为日期是一项基本技能,对于在项目上进行工作很有用。有时,使用字符串表示日期,然后其转换为Date对象以供进一步使用是更容易的。 在本文中,我们介绍许多可用于将Java...
  • Java中Date()类 日期转字符串、字符串转日期的问题 今天在写东西的时候突然发现一个问题,就是先new 一个Date()然后生成的值转为字符串, 然后再转换后的字符串再次用new Date()转为日期,但是转完之后发现两...
  • java中需1597800000时间戳格式的字符串转日期格式的字符串。 代码 private static final String TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; public String timeStampToDate(String time) { return new ...
  • 日期和时间格式由日期和时间模式字符串指定。...只是在格式化时它们简单复制到输出字符串白话文的讲:这些A——Z,a——z这些字母(不被单引号包围的)会被特殊处理替换为对应的日期时间,其他的字符串...
  • 慕姐829404LocalDate.now() .toString()...LocalDate.now( ZoneId.of( "America/Montreal" ) ) .toString()java.time从Java 8及更高版本开始的现代方法是使用java.time框架。指定时区,因为日期在任何给定时刻都会在...
  • /***时间戳转换成日期格式字符串*@paramseconds精确到秒的字符串*@paramformatStr*@return*/publicstaticStringtimeStamp2Date(Stringseconds,Stringformat){if(seconds==null||seconds.isEmpty()||seconds.equals(...
  • 示例中,'2010年1月2日'格式的字符串转换为Java日期的最佳方式是什么?最终,我想把整月的月份,日期和年份分开,以便我可以使用Date date = new Date();date.setMonth()..date.setYear()..date.setDay()..date....
  • 本文概述我们可以使用java.text.DateFormat类的format()方法在Java中将Date转换为String。DateFormat的format()方法DateFormat类的format()方法用于Date转换为String。 DateFormat是一个抽象类。 DateFormat的子类...
  • 将日期时间字符字符串转日期插入到oracle的date型的字段里, String datestring=2014-02-01 13:23:31; SimpleDateFormat sdf=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); date=sdf.parse(datestring); pstmt.set...
  • LocalDate.now( ZoneId.of( "America/Montreal" ) ).toString()java.time从Java 8及更高版本开始的现代方法是使用java.time框架。指定时区,因为日期在任何给定时刻都会在世界各地变化。ZoneId zoneId = ZoneI...
  • 我有一个字符串,其格式为YYYY-MM-DD。你怎么建议我以最好的方式把它转换成格式DD-MM-YYYY?这是我天真地做的:import java.util.*;public class test {public static void main(String[] args) {String date = ...
  • 这里可能大部分情况下,我们默认会用构造方式,如下: String seqEndDateStr = mapParams.get("seqEndDate"); Date seqEndDate = null;...但是需要注意传过来的这个日期字符串的格式是"yyyy-mm-dd"("2013-05-20")。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,038
精华内容 415
关键字:

java将字符串转日期

java 订阅