2013-04-28 59 views
-2

如何检查给定的日期是否领先零?如何查看日期是否为零?

其实我在参数中获取日期,我需要检查日期是否包含前导零,然后我应该删除零并进行该过程。

例子。

string stringdate = Page.RouteData.Values["date"].ToString(); 

这里的 “日期” 的例子可以是

3月 - 2013(OR)03月 - 2013

如果secondtype的stringdate(从零开始),那么我应该删除零并使其像第一种类型并继续进行。

我想下面的工作

bool valid = DateTime.TryParseExact(stringdate, "dd-MMMM-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsed); 

但如果“日期”值是'16 - 12月,2013' 然后我结束了问题,因为它返回true。

那么如何检查'日期'是否以零开始?

+0

@MUGAN:愚蠢的问题?嗯,为什么你在阅读这个问题后不给我解决方案?我已经问过如何检查日期是否已经领先于零而不是删除。你可以帮我吗? – 2013-04-28 13:12:12

+0

你需要'日期'从零开始还是没有开始的原因是什么? – Turbot 2013-04-28 13:35:17

回答

1

只要删除前处理,如果它存在

if(stringdate[0] == '0') 
    stringdate = stringdate.Substring(1); 
+0

哦...这是一个简单的解决方案。 :-)谢谢......我不停地用不同的日期格式敲打我的头。再次感谢。 – 2013-04-28 14:15:24

+0

和我可以删除'd-MMMM-yyyy'的前导零,但我只是想知道如何测试日期是否有零或在开始。 – 2013-04-28 14:21:51

+0

@AbhishekRanjan欢迎 – 2013-04-28 14:28:54

1

那么如何检查'Date'是否以零开始?

您不需要。如果解析是唯一的问题,那么应该使用"d-MMMM-yyyy"而不是格式"dd-MMMM-yyyy",因为单个d可用于单日/双位数日期部分。使用上述格式,您可以解析033一天。你可以看一下Custom Date and Time format string- MSDN

编辑:

如果你只是想检查日期字符串0开始,然后使用string.StartsWith方法。

if(stringdate.StartsWith("0")) 
    stringdate = stringdate.Substring(1); 
+0

是Parasing问题,我已经尝试过“d-MMMM-yyyy”,它对于“2012年12月07日”的结果是正确的,这对我的情况是错误的。 – 2013-04-28 11:24:55

+0

@AbhishekRanjan,你可以使用'string.StartsWith'来比较'0',然后删除它。 – Habib 2013-04-29 05:08:42

0

如果你到底需要的是让字符串值没有前导零,您可以使用d-MMMM-YYYY格式字符串都为解析和格式化:

string stringDate = "03-May-2013"; 
DateTime parsedDate; 
bool isValid = DateTime.TryParseExact(
    stringDate, 
    "d-MMMM-yyyy", 
    CultureInfo.InvariantCulture, 
    DateTimeStyles.None, 
    out parsedDate); 
if (isValid) 
{ 
    stringDate = parsedDate.ToString("d-MMMM-yyyy"); 
} 
+0

你可以试试“2013年3月16日”吗?对于这个值,它也会进入“If”语句中。对?我想检查日期是否与零引导或不。如果领先于零,则输入'如果'条件。 – 2013-04-28 12:55:50