分割字符串

发布于 2024-10-11 01:13:04 字数 342 浏览 5 评论 0原文

我有一个像这样的字符串

string strdate =@"5/2/2006";

,其形式为月/日/年

我需要以 02-05-2006 这样的形式显示它。

如何格式化这样的数据?

如果值是这样的:12/28/2005,它应该像这样显示:28-12- 2010 年。

我知道我们应该根据我们应该做的事情来分割数据。

我不明白如何做到这一点的语法。

任何帮助都会很棒。

I have an string like this

string strdate =@"5/2/2006";

Which is in a form of month/day/year.

I need to display it in a form of like this 02-05-2006.

How do i format the data like this?

If the value is like this: 12/28/2005, it should be displayed like this: 28-12-2010.

I know we should be splitting the data based on that we should do it.

I am not getting the syntax how to do it .

Any help would be great.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

梦里南柯 2024-10-18 01:13:04

将字符串解析为 DateTime,然后使用具有正确格式的 ToString 来输出它。

DateTime dt = DateTime.ParseExact(@"5/2/2006", 
                                  "MM/dd/yyyy", 
                                  CultureInfo.InvariantCulture);
string output = dt.ToString("dd-MM-yyyy");

我建议阅读 custom标准 日期和时间格式字符串。

Parse the string into a DateTime and then use ToString with the right format to output it.

DateTime dt = DateTime.ParseExact(@"5/2/2006", 
                                  "MM/dd/yyyy", 
                                  CultureInfo.InvariantCulture);
string output = dt.ToString("dd-MM-yyyy");

I suggest reading up on custom and standard date and time format strings.

随风而去 2024-10-18 01:13:04

在此处阅读有关如何解析 DateTime 字符串的信息:http:// /msdn.microsoft.com/en-us/library/1k1skd40.aspx

然后您可以在此处了解如何打印它:http://msdn.microsoft.com/en-us/library/8tfzyc64.aspx

Read about how to parse DateTime string here: http://msdn.microsoft.com/en-us/library/1k1skd40.aspx

Then you read about how to print it here: http://msdn.microsoft.com/en-us/library/8tfzyc64.aspx

冷血 2024-10-18 01:13:04

@Kevin

var datearray = strdate.split('/');

string date = datearray[0] + "-" + datearray[1] + "-" datearray[2]

问题 1

这在第 10 日到第 31 日期间不起作用...它将在每一天添加前导零。
12-05-2010 很好,但对于前。 12-021-2010 不太好。

问题 2
MM-dd 顺序错误

@Kevin

var datearray = strdate.split('/');

string date = datearray[0] + "-" + datearray[1] + "-" datearray[2]

Issue 1

This wont work from days from 10th to 31st... It will add leading zero to each day.
12-05-2010 is good, but for ex. 12-021-2010 is not good.

Issue 2
Wrong order of MM-dd

染柒℉ 2024-10-18 01:13:04

您可以这样使用 string.replace :

string newString = oldString.Replace('/', '-');

这会将每个“/”替换为“-”并创建一个新字符串,它不会在旧字符串中替换它,因为字符串是不可变的。

You can use string.replace as such:

string newString = oldString.Replace('/', '-');

This will replace each '/' with '-' and create a new string, it will not replace it within the old string as strings are immutable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文