YYYY与yyyy小记

2024-05-31 18:38
文章标签 小记 yyyy

本文主要是介绍YYYY与yyyy小记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境:
jdk:1.8
oralce:10g

这里简单的说下区别:
1.字符串转日期测试
这里的日期在YYYY下的转换规律待定,目前还不清楚
在yyyy是正常的

2.日期转字符串测试
这里的日期在YYYY下的转换规律:当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年
在yyyy是正常的

3.orale:不区分大小写格式,所以不存在问题,相当于java的yyyy

场景1: java场景

  public static void main(String[] args) {testDate1();testDate2();}public static void testDate1() {System.out.println("字符串转日期测试");//SimpleDateFormat测试SimpleDateFormat sf1 = new SimpleDateFormat("YYYY-MM-dd");SimpleDateFormat sf2 = new SimpleDateFormat("yyyy-MM-dd");try {Date d1 = sf1.parse("2020-12-26");Date d2 = sf1.parse("2020-12-26");Date d3 = sf1.parse("2020-12-27");Date d4 = sf2.parse("2020-12-27");System.out.println("字符串转日期YYYY" + d1.toLocaleString());System.out.println("字符串转日期YYYY" + d2.toLocaleString());System.out.println("字符串转日期YYYY" + d3.toLocaleString());System.out.println("字符串转日期yyyy" + d4.toLocaleString());} catch (ParseException e) {e.printStackTrace();}//DateTimeFormatter测试   DateTimeFormatter不支持YYYYDateTimeFormatter dt1 = DateTimeFormatter.ofPattern("YYYY-MM-dd");DateTimeFormatter dt2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");//经过测试,该解析会抛异常,如果要正常解析,那么估计要自定义Formatter//Exception in thread "main" java.time.format.DateTimeParseException: Text '2020-12-26' could not be parsed: Unable to obtain LocalDate from TemporalAccessor: {DayOfMonth=26, WeekBasedYear[WeekFields[SUNDAY,1]]=2020, MonthOfYear=12},ISO of type java.time.format.Parsed//LocalDate date1 = LocalDate.parse("2020-12-26", dt1);//LocalDate date2 = LocalDate.parse("2020-12-27", dt1);LocalDate date3 = LocalDate.parse("2020-12-27", dt2);System.out.println("字符串转日期" + date3);}public static void testDate2() {System.out.println("日期转字符串测试");SimpleDateFormat sf1 = new SimpleDateFormat("YYYY-MM-dd");SimpleDateFormat sf2 = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();//这里设置的是2020-12-26c.set(Calendar.MONTH, 11);c.set(Calendar.DATE, 26);System.out.println(sf1.format(c.getTime()));System.out.println(sf2.format(c.getTime()));c.add(Calendar.DATE, 1);System.out.println("日期转字符串" + sf1.format(c.getTime()));System.out.println("日期转字符串" + sf2.format(c.getTime()));//java8的测试DateTimeFormatter dt1 = DateTimeFormatter.ofPattern("YYYY-MM-dd");DateTimeFormatter dt2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");LocalDate date1 = LocalDate.of(2020, 12, 26);LocalDate date2 = LocalDate.of(2020, 12, 27);System.out.println("日期转字符串" + date1.format(dt1));System.out.println("日期转字符串" + date2.format(dt1));System.out.println("日期转字符串" + date2.format(dt2));}

场景2: 数据库 这里以oracle

select to_char(sysdate - 4, 'yyyy-MM-dd') "20201226-YYYY", to_char(sysdate - 4, 'YYYY-MM-dd') "20201226-yyyy",to_char(sysdate - 3, 'yyyy-MM-dd') "20201227-YYYY", to_char(sysdate - 3, 'YYYY-MM-dd') "20201227-yyyy",to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') "oracle不区分大小写的"
from dual;

在这里插入图片描述

这篇关于YYYY与yyyy小记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1018730

相关文章

ZOJ Monthly, August 2014小记

最近太忙太忙,只能抽时间写几道简单题。不过我倒是明白要想水平提高不看题解是最好的了。 A  我只能死找规律了,无法证明 int a[50002][2] ;vector< vector<int> > gmax , gmin ;int main(){int n , i , j , k , cmax , cmin ;while(cin>>n){/* g

Codeforces Round #261 (Div. 2)小记

A  XX注意最后输出满足条件,我也不知道为什么写的这么长。 #define X first#define Y secondvector<pair<int , int> > a ;int can(pair<int , int> c){return -1000 <= c.X && c.X <= 1000&& -1000 <= c.Y && c.Y <= 1000 ;}int m

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

logback小记

1、需要的maven依赖: <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version><!--<scope>test</scope>--></dependency><!-- https://mvnrepository.com/artifa

【hive 日期转换】Hive中yyyymmdd和yyyy-mm-dd日期之间的切换

方法1: from_unixtime+ unix_timestamp--20171205转成2017-12-05 select from_unixtime(unix_timestamp('20171205','yyyymmdd'),'yyyy-mm-dd') from dual;--2017-12-05转成20171205select from_unixtime(unix_timestamp

策略模式的小记

策略模式 策略模式支付系统【场景再现】硬编码完成不同的支付策略使用策略模式,对比不同(1)支付策略接口(2)具体的支付策略类(3)上下文(4)客户端(5)小结 策略模式 定义:策略模式是一种行为设计模式,在运行时改变对象的行为。 目的:定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。 结构: 策略接口:声明了所有支持的所有算法的公共接口。具体策略:实现了策略

类的加载过程与初始化小记

//部分内容来自“狂神说java” 代码验证 解释 1.加载类的信息,加载到内存中,如例子,将Test05和A类的信息加载到方法区, 2.加载完成后,立马生成一个class对象,如例 java.lang.class对象代表Test05类..., 3.执行main方法,通过<clinit>进行初始化 类的初始化

记录|单例模式小记

目录 前言一、单例模式1.1 什么是单例模式1.2 常见单例模式 二、单例模式对比更新时间 前言 参考文章: 去读队友写的代码的时候由于看不懂才去学习的。 一般情况下,这种是用于数据库的开销避免。 例如: public class DBConnectionManager{private static DBConnectionManager instance;