Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ICUDateTime:获得昨天&x27;谁的日期?_Date_Icu - Fatal编程技术网

ICUDateTime:获得昨天&x27;谁的日期?

ICUDateTime:获得昨天&x27;谁的日期?,date,icu,Date,Icu,我想知道昨天的日期,但我想不出来。现在我使用的是%ICUDateTime%yyyy-MM-dd%,即2014-01-05。如何显示2014-01-04 注:我不认为这是错误的,我看到ICU也适用于C,C++和java从ICU网站这里:昨天 2014-01-04。至少在我住的地方。你住在哪里?(已确定问题中的日期) 你为什么不使用或?使用日历时,将如下所示: Calendar c = new GregorianCalendar(); c.add(Calendar.DATE, -1); Simple

我想知道昨天的日期,但我想不出来。现在我使用的是%ICUDateTime%yyyy-MM-dd%,即2014-01-05。如何显示2014-01-04

注:我不认为这是错误的,我看到ICU也适用于C,C++和java从ICU网站这里:

昨天<强> 2014-01-04。至少在我住的地方。你住在哪里?(已确定问题中的日期)

你为什么不使用或?使用日历时,将如下所示:

Calendar c = new GregorianCalendar();
c.add(Calendar.DATE, -1);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String yesterday = format.format(c.getTime());
解决方案在结构上与@MartijnCourteaux发布的JDK内容非常相似。只需使用这些类即可:

  • com.ibm.icu.util.gregorianalendar
  • com.ibm.icu.text.simpleDataFormat
结构等效意味着与标准JDK中的外观相同(只是导入不同):


关于为什么不使用JDK或JodaTime的备注/问题,我仍然看到一些支持ICU4J的论据,即它具有更大的国际化能力,例如比JDK和JodaTime加在一起实现更多的日历。无论如何,这取决于您是否需要ICU4J的额外功能,或者是否能够满足标准JDK(在您的示例中,标准JDK就足够了)。

将前一天的变量设置为:

%ICUDateTimeMinus%1%Days%d%

你能发布一些代码吗?我认为你的问题与键盘大师的使用有关,因此最好直接向他们或超级用户提问-建议关闭这个问题。
%ICUDateTimeMinus%1%Days%d%