gpt4 book ai didi

c# - Java 中 Calendar 的 c# 等价物是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:48:14 25 4
gpt4 key购买 nike

我正在将 Java 转换为 C#,需要转换涉及日历的代码:

Calendar rightNow = Calendar.getInstance();
StringBuilder sb = new StringBuilder();
sb.append((rightNow.get(Calendar.MONTH) + 1));
sb.append(rightNow.get(Calendar.DAY_OF_MONTH));
sb.append(rightNow.get(Calendar.YEAR)).substring(2);
sb.append(rightNow.get(Calendar.HOUR_OF_DAY));
sb.append(rightNow.get(Calendar.MINUTE));

更多编辑 由于有两种可能的方法(System.DateTime 和 Calendar),我应该使用哪一种? (我在这里记忆了 Java 世界中的问题)

SUMMARY of RESPONSES 对于简单的使用,System.DateTime 是合适的并且没有Java 的Date 的问题。应该有一个电话,以防通话之间的日期提前。

最佳答案

System.DateTime 结构就是您要找的。

首选方式:

sb.Append(DateTime.Now.AddMonths(1).ToString("MMddyyHHmm"));

正如 Joel Coehoorn 指出的那样,您可以将该代码压缩为一行。我已经变得如此专注于实现,我没有看到您实际上想要做什么 - 幸运的是 Joel 指出了这一点。

这会将所有这些汇总到一个调用中。非常漂亮。

直接翻译(不推荐):

要将您的 Java 代码转换为 C#,您需要执行如下操作:

string year = DateTime.Now.Year.ToString();
sb.Append(DateTime.Now.AddMonths(1));
sb.Append(DateTime.Now.Day);
sb.Append(year.Substring(2));
sb.Append(DateTime.Now.Hour);
sb.Append(DateTime.Now.Minute);

您可以复制/粘贴此 C# 代码以查看:

StringBuilder sb = new StringBuilder();
string year = DateTime.Now.Year.ToString();
sb.Append(String.Format("Next Month is: {0} \n ",DateTime.Now.AddMonths(1)));
sb.Append(String.Format("Day is {0}\n ", DateTime.Now.Day));
sb.Append(String.Format("Year is {0}\n ", year.Substring(2)));
sb.Append(String.Format("The Hour is {0}\n ", DateTime.Now.Hour)); //getting late
sb.Append(String.Format("The Minute is {0}\n ", DateTime.Now.Minute));

关于 DateTime 的 Java 问题

DateTime结构没有 Java 在日期实现方面遇到的问题;所以您不应该遇到困扰 Java 世界的相同问题。

其他方法

作为another user pointed out , 您可以使用 System.Globalization.Calendar 类也是如此。我与 DateTime 相处得很好struct,它比 Calendar 类轻一点,但它们都可以使用。如果您要跳过日期和日历实现,请使用 Calendar类(class);如果您要坚持使用日期的一种实现,那么 DateTime struct就好了。

关于c# - Java 中 Calendar 的 c# 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1569272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com