获取当前年份值到字符串

Posted

技术标签:

【中文标题】获取当前年份值到字符串【英文标题】:get present year value to string 【发布时间】:2013-10-12 10:39:16 【问题描述】:

我需要以字符串形式获取当前年份值,所以我这样做了:

Calendar now = Calendar.getInstance();
DateFormat date = new SimpleDateFormat("yyyy");
String year = date.format(now);

它可以在 ubuntu 上运行,但不能在 Windows 7 上运行。

你知道为什么吗? 有没有更安全的方法来做到这一点?

谢谢

【问题讨论】:

“不工作”到底是什么意思? 【参考方案1】:

怎么样

Date currentDate = new Date();
String currentYear = String.valueOf(currentDate.getYear());

【讨论】:

Date#getYear() 已弃用。 还有,那是year-1900【参考方案2】:

您可以使用Calendar#get(int field) 方法从Calendar 实例中简单地获取年份:

Calendar now = Calendar.getInstance();
int year = now.get(Calendar.YEAR);
String yearInString = String.valueOf(year);

【讨论】:

【参考方案3】:

试试

Calendar now = Calendar.getInstance();
String year = String.valueOf(now.get(Calendar.YEAR));

【讨论】:

【参考方案4】:

你也可以这样做:

String year = String.valueOf(Calendar.getInstance().get(Calendar.YEAR));

【讨论】:

【参考方案5】:
String thisYear = new SimpleDateFormat("yyyy").format(new Date());

【讨论】:

你应该解释一下。 我用这个。 SimpleDateFormat 使用日历。格式示例:SimpleDateFormat【参考方案6】:

时区

问题和接受的答案都忽略了时区问题。在新年时,年数会因您所在的时区而异。

乔达时间

捆绑的 java.util.Date 和 .Calendar 类是出了名的麻烦。避开他们。使用 Joda-Time 或 Java 8 中的新 java.time 包。

Joda-Time 中的示例。

DateTimeZone timeZone = DateTimeZone.forID( "Europe/Paris" );
DateTime dateTime = DateTime.now( timeZone );
int year = dateTime.year().get();

【讨论】:

【参考方案7】:

Java 8:

java.time.Year.now();

这里是link。

【讨论】:

【参考方案8】:

在 Java 8 中有一个名为 java.time 的集合,您可以在其中轻松地从计算机时钟中获取当前年份。

要将当前年份作为整数,您可以简单地编写:

int thisYear = Year.now().getValue();

将其作为字符串获取:

String thisYear = Year.now().toString();

【讨论】:

【参考方案9】:
  //  enter code here
Date date = new Date();
DateFormat format = new SimpleDateFormat("yyyy");
String year = format.format(date);

【讨论】:

这是一个低质量的答案。您没有描述这如何帮助解决问题,答案只是与原始 OP 几乎相同的代码,并且没有解释如何解决问题。【参考方案10】:

在 Java 8 之前的 Java 版本中,您还可以使用 java.sql.Date 类。将年份转换为字符串和子字符串:

String currentYear = new java.sql.Date(System.currentTimeMillis()).toString().substring(0, 4);

【讨论】:

以上是关于获取当前年份值到字符串的主要内容,如果未能解决你的问题,请参考以下文章

大厂首发:java获取当前年份字符串

Iphone:如何将年份添加到当前日期并将其作为字符串返回,格式为 2011-11-20

无法从edittext获取值到字符串

React Native:如何从循环中获取值到钩子 useState

字符串值到日期格式的液体转换

日期对象