如何转换字符串长度
本文关键字:字符串 转换 何转换 | 更新日期: 2023-09-27 18:28:35
我的数据库中有char(10)字段(它是波斯日期字段)。我在c#中对某个日期的控制创建了char(8)。那么我在存储过程中遇到了问题(其中日期介于dateFrom和DateTo之间)。我一定有char(10)。我想在c中写一个函数来检查字符串,如果它的长度小于10,就把它转换成10。我的格式是yyyy/mm/dd。(yyyy在我的控制范围内没有问题)例如,我想将1391/1/1转换为1391/01/01请帮我插入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
}
可用日期格式*相应地选择*
<%= 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
问题已解决。
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;
}
}
}
类似以下内容。
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];