关于java8字符串转日期的信息

今天给各位分享java8字符串日期的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、java把8位数的日期字符串存进一个长为3的字节数组里面,再转出来也能是存进去时的字符串2、java8位字符串转日期格式后不正确3、java 编程从屏幕输入8-10位字符串,判断是否为日期4、如何在java8中愉快地处理日期和时间java8新增了localdate和localtim5、java字符串转换成日期

java把8位数的日期字符串存进一个长为3的字节数组里面,再转出来也能是存进去时的字符串

大小3的byte数组时24位

日最大是31日,2的5次方最大32,所以 5 位可以表示全部日期

月最大是12月,2的4次方最大16,可以用 4 位表示月份

年份姑且认为最大是9999年,2的14次方可以满足,用14位来表示年份

所以byte数组中,14+4+5 可以表示全部年月日

public static void main(String[] args) throws DocumentException {

    int year = 2018;    // ‭011111100010‬

    int month = 4;      // ‭0100‬

    int day  =23;       // ‭00010111‬

    byte[] date = new byte[3];

    year = year9;     //日和月需要9位

    month = month5;

    //存日期

    int temp = year | month | day;  // 000011111100010 0100 10111

    date[2] = (byte) (temp  0xff); //temp的低8位与1111 1111 与运算,即 10010111  11111111

    date[1] = (byte) (temp80xff);//temp的中8位

    date[0] = (byte) (temp160xff);//temp的高8位

    //取日期

    int dayN = date[2];

    dayN = dayN0x1F;   //00011111

    //月份需要byte[1]中的低1位与byte[2]中的高3位组合

    int monthN = (((date[1]  1)8 | (date[2]0xE0))0xffff)5; 

    // 111100000000 | 11000100,年份需要byte[0]与byte[1]的7位拼成,因为月份值只取了byte[1]的低1位,所有只需要右移1位

    int yearN = (((date[0]0xff)8 | (date[1]0xFE))0xffff)1;

    System.out.println(yearN+”年”+monthN+”月”+dayN+”日”);

}

java8位字符串转日期格式后不正确

要么就把字段改成varchar类型,要么取出来的时候进行format

SELECT TO_CHAR(tbl.birthday, ‘yyyy-mm-dd’) birthday FROM bi_persons tbl

,数据库就是以这种格式存储日期的

关于java8字符串转日期的信息

java 编程从屏幕输入8-10位字符串,判断是否为日期

public static void main(String[] args)   

    {   

        String checkValue = “2000/03/31”;

        checkValue = checkValue.replaceAll(“/”, “”)+”000000″;

String year = checkValue.substring(0, 4); // 获取年份

String month = checkValue.substring(4, 6); // 获取月份

        Boolean isLeap = leapYear(Integer.parseInt(year)); // 判断闰年

        System.out.println(isLeap);

        StringBuffer eL= new StringBuffer();

        String longMonth = “01030507081012”; // 31天的月份

        String fix = “([2][0-3]|[0-1][0-9]|[1-9])[0-5][0-9]([0-5][0-9]|[6][0])”;

        

        

        if(isLeap  month.equals(“02”)){  // 针对2月份的情况 【闰年】

        eL.append(“\\d{4}([1][0-2]|[0][0-9])([2][0-1]|[1-2][0-9]|[0][1-9]|[1-9])”+fix);

        }else if(!isLeap  month.equals(“02”)){ // 针对2月份的情况 【非闰年】

        eL.append(“\\d{4}([1][0-2]|[0][0-9])([2][0-1]|[1-2][0-8]|[0][1-9]|[1-9])”+fix);

        }else if(longMonth.contains(month)){ // 31天月份

        eL.append(“\\d{4}([1][0-2]|[0][0-9])([3][0-1]|[1-2][0-9]|[0][1-9]|[1-9])”+fix);

        }else{ // 30天月份

        eL.append(“\\d{4}([1][0-2]|[0][0-9])([3][0]|[1-2][0-9]|[0][1-9]|[1-9])”+fix);

        }

        Pattern p = Pattern.compile(eL.toString());    

        Matcher m = p.matcher(checkValue);    

        boolean flag = m.matches();   

        if(flag )   

        {         

            System.out.println(“格式正确”);   

        }   

        else  

        {   

            System.out.println(“格式错误”);   

        }   

  

    } 

public static boolean leapYear(int year) {

Boolean isLeap = false;

if (((year % 100 == 0)  (year % 400 == 0))

|| ((year % 100 != 0)  (year % 4 == 0)))

isLeap = true;

return isLeap;

}

如何在java8中愉快地处理日期和时间java8新增了localdate和localtim

java8中的localdate和localtime用法举例如下:

这两个方法使我们可以方便的实现将旧的日期类转换为新的日期类,具体思路都是通过Instant当中介,然后通过Instant来创建LocalDateTime(这个类可以很容易获取LocalDate和LocalTime),新的日期类转旧的也是如此,将新的先转成LocalDateTime,然后获取Instant,接着转成Date,具体实现细节如下:

// 01. java.util.Date — java.time.LocalDateTime

public void UDateToLocalDateTime() {

java.util.Date date = new java.util.Date();

Instant instant = date.toInstant();

ZoneId zone = ZoneId.systemDefault();

LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);

}

// 02. java.util.Date — java.time.LocalDate

public void UDateToLocalDate() {

java.util.Date date = new java.util.Date();

Instant instant = date.toInstant();

ZoneId zone = ZoneId.systemDefault();

LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);

LocalDate localDate = localDateTime.toLocalDate();

}

// 03. java.util.Date — java.time.LocalTime

public void UDateToLocalTime() {

java.util.Date date = new java.util.Date();

Instant instant = date.toInstant();

ZoneId zone = ZoneId.systemDefault();

LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);

LocalTime localTime = localDateTime.toLocalTime();

}

// 04. java.time.LocalDateTime — java.util.Date

public void LocalDateTimeToUdate() {

LocalDateTime localDateTime = LocalDateTime.now();

ZoneId zone = ZoneId.systemDefault();

Instant instant = localDateTime.atZone(zone).toInstant();

java.util.Date date = Date.from(instant);

}

// 05. java.time.LocalDate — java.util.Date

public void LocalDateToUdate() {

LocalDate localDate = LocalDate.now();

ZoneId zone = ZoneId.systemDefault();

Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();

java.util.Date date = Date.from(instant);

}

// 06. java.time.LocalTime — java.util.Date

public void LocalTimeToUdate() {

LocalTime localTime = LocalTime.now();

LocalDate localDate = LocalDate.now();

LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);

ZoneId zone = ZoneId.systemDefault();

Instant instant = localDateTime.atZone(zone).toInstant();

java.util.Date date = Date.from(instant);

}

java字符串转换成日期

//取后面八位,按照yyyyMMdd的格式转为日期//再把日期转为相应的格式的字符串//如果这过程中出现了异常,即不是日期的格式,则直接输出字符串即可 public static void main(String args[]){ String str = “今天的日期是20080830”; try{ String temp = str.subString(str.length()-8); Date date = new DateFormat(“yyyyMMdd”).parse(temp); String dateStr = new DateFormat(“yyyy-MM-dd”).format(date); //方法二 //String dateStr = new DateFormat(“yyyy年MM月dd日”).format(date); System.out.println(str.subString(0, str.length()-8) + dateStr); }catch(Exceptiion e){ System.out.println(str); }}

java8字符串转日期的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java8字符串转日期的信息别忘了在本站进行查找喔。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年4月1日 15:14:35
下一篇 2024年4月1日 15:21:56

相关推荐

  • 关于linux安装posix的信息

    linuxgdb安装linuxgd安装 有两种方法:直接使用 apt-get install php5-gd下载一个gd源码包,进行编译安装。 你用的是什么linux。查看一下软件包有没有,注意更新源。如:sudo apt-get install php5-gd 实在没有你可以下载源码自己编译安装(网上搜索一下,编译安装挺简单的)。debian官网的软件包中…

    2024年5月11日
    3400
  • 关于javautf8简繁转换类库的信息

    java怎么把把字符转成utf-8 1、java不同编码之间进行转换,都需要使用unicode作为中转。 2、jdbc的连接字符串不支持utf8mb4,这个 这种方式 来解决的,如果服务器端设置了character_set_server=utf8mb4,则客户端会自动将传过去的utf-8视作utf8mb4。 3、这个是unicode码,并不是UTF-8编码,…

    2024年5月11日
    3500
  • java求数字长度,java求字符串长度的方法

    java里面怎么得到一个数的长度 基于对数的解决方案:valueOf 方法返回的相关Number对象持有传递的参数的值。该参数可以是基本数据类型,字符串(String),等等。 这个方法是一个静态方法。该方法可以采取两个参数,其中一个是String,另一个是基数。 把数字转换为字符串,使用String.ValueOf(参数)方法。利用字符串的length()…

    2024年5月11日
    2800
  • c语言如何存储中文字符,c语言怎么存储字符串

    C语言问题,如何将中文放进字符数组 把p[i]指向s[i],即:for(i=0;i4;i++)p[i]=s[i];也可以直接char *p[4]={李四,张三,黄生,二小};这里数字4只是表示指针数组中指针的个数,而不是字符长度。 按字符方式读取文件,每读一个字符判断一下是否为汉字编码(0),若是则存入字符数组,不是则跳过读取下一个字符,直到文件结束。 这么…

    2024年5月11日
    2700
  • 关于c语言http服务的信息

    如何用c语言实现http服务器 1、去看一下《Advanced Linux Programming》这本书吧,第11章讲的就是怎么用C语言实现一Http服务器。 2、用javac testhello.java,java testhello,javah -classpath .-verbose testhello 。将生产的头文件用到c++ 中的 heardf…

    2024年5月11日
    3800
  • excel函数系统日期,excel 系统日期函数

    如何用excel函数DATEDIF计算出生年月? 1、获取年公式:=DATEDIF(A2,B2,y)。获取月公式:=DATEDIF(A2,B2,ym)。获取日公式:DATEDIF(A2,B2,md)。 2、我们举个例子,大家就能很快的学会这个函数了。例如,我们要计算一个1987年1月1号出生的人的年龄。那么DATEDIF函数就应该写成=DATEDIF(198…

    2024年5月11日
    4900
  • 2003excel日期组合,日期合并函数公式

    excel2003设置日期格式的方法步骤 方法一:使用单元格格式设置 选择需要设置日期格式的单元格或单元格区域。在【开始】选项卡中,点击【数字】组中的【日期】下拉按钮,选择【日期】选项,在弹出的日期格式中选择需要的格式。 右键单击选中的单元格,选择 格式单元格。在 数字 选项卡中,选择 日期,然后在 类别 列表中选择所需的日期格式。点击 确定。主页选项卡:选…

    2024年5月11日
    6000
  • c语言字符串的拆分的简单介绍

    C语言分割字符串 1、不需要专门分割,c语言里面本来就是用字符数组来保存的,如:char a[20]=hello world!;这个字符串,char[0]就是h,char[1]就是e。如果要分割子串,可以使用strtok函数。 2、%s,&v, s);//先输入整型变量v,再输入字符串,可以使用逗号分隔。printf(%s\n%d\n, s, v);…

    2024年5月11日
    3500
  • c语言判断三个字符串大小写,c语言判断字符个数

    C语言编程从键盘输入一个字符,判断该字符是否为控制字符、空格、数字字… 1、i]=90)||(s[i]=97&&s[i]=122)) letter++; if(s[i]=48&&s[i]=57) num++; } other=sum-space-letter-num; printf(数字%d个,字母%d个,空格%d…

    2024年5月11日
    3000
  • c语言怎么逆序输出字符串,c语言怎么逆序输出字符串

    C语言:输入一个字符串,然后逆序输出 1、return 0;} “`程序先从键盘输入一个字符串,然后获取字符串的长度和指向字符串首尾的指针。接着,使用指针交换相应位置上的字符,完成字符串逆序存放。最后输出逆序存放后的字符串。 2、如果只是要求逆序输出,那么可以采用类似的方法:void reverse(char *s){ if(*s==\0)ret…

    2024年5月11日
    3800

发表回复

登录后才能评论



关注微信