我的数据库中有 char(10) 字段(它是波斯日期字段)。我在 c# 中对某些日期的控制会创建 char(8)。然后我在存储过程中遇到问题(dateFrom 和 DateTo 之间的日期)。我必须有 char(10)。我想在 c# 中编写函数来检查字符串,如果它的长度小于 10,则将其转换为 10。我的格式是 yyyy/mm/dd。(yyyy 在我的控制中没有问题)例如我想将 1391/1/1 转换为 1391/01/01 请帮助我如何插入 0 并检查 / 之后的数字。
问问题
525 次
4 回答
0
类似于以下内容。
string[] words = date.Split('/');
if (words[1].Length == 1)
{
words[1]="0"+words[1];
}
if (words[2].Length == 1)
{
words[2]="0"+words[2];
}
string newDate = words[0] + "/" + words[1] + "/" + words[2];
于 2013-08-21T05:18:39.910 回答
0
DateTime res;
string input = "1391/1/1";
if (DateTime.TryParseExact(input, "yyyy/M/d", CultureInfo.InvariantCulture, DateTimeStyles.None, out res))
{
string toDb = res.ToString("yyyy/MM/dd"); //1391/01/01
}
于 2013-08-21T05:22:36.647 回答
0
可用的日期格式 *相应选择*
<%= String.Format("{specifier}", DateTime.Now) %>
Specifier Description Output
d Short Date 08/04/2007
D Long Date 08 April 2007
t Short Time 21:08
T Long Time 21:08:59
f Full date and time 08 April 2007 21:08
F Full date and time (long) 08 April 2007 21:08:59
g Default date and time 08/04/2007 21:08
G Default date and time (long)08/04/2007 21:08:59
M Day / Month 08 April
r RFC1123 date Sun, 08 Apr 2007 21:08:59 GMT
s Sortable date/time 2007-04-08T21:08:59
u Universal time, local timezone 2007-04-08 21:08:59Z
Y Month / Year April 2007
dd Day 08
ddd Short Day Name Sun
dddd Full Day Name Sunday
hh 2 digit hour 09
HH 2 digit hour (24 hour) 21
mm 2 digit minute 08
MM Month 04
MMM Short Month name Apr
MMMM Month name April
ss seconds 59
tt AM/PM PM
yy 2 digit year 07
yyyy 4 digit year 2007
: seperator, e.g. {0:hh:mm:ss} 09:08:59
/ seperator, e.g. {0:dd/MM/yyyy} 08/04/2007
于 2013-08-21T05:24:25.310 回答
0
问题解决了。
public static string ConvertToDate(string persianDate)
{
try
{
if (persianDate.Length != 10)
{
char a = Convert.ToChar(persianDate.Substring(4, 1));
char b = Convert.ToChar(persianDate.Substring(6, 1));
if (a == '/' && b == '/')
{
if (persianDate.Length == 9)
{
persianDate = persianDate.Insert(5, '0'.ToString());
}
if (persianDate.Length == 8)
{
persianDate = persianDate.Insert(5, '0'.ToString());
persianDate = persianDate.Insert(8, '0'.ToString());
}
}
char c = Convert.ToChar(persianDate.Substring(7, 1));
if (c == '/')
{
if (persianDate.Length == 9)
{
persianDate = persianDate.Insert(8, '0'.ToString());
}
}
}
return persianDate;
}
catch (Exception ex)
{
ExceptionkeeperBll.LogFileWrite(ex);
return null;
}
}
}
于 2013-08-21T09:33:11.737 回答