C# 处理年月日提取时间
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace ExtractTime
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
//--
string[] strlist = {"年","月","日" };
string strs = "日期: 2018年07月31日"; //xx年xx月xx日
strs = textBox1.Text; var test = ff(strs);
string[] temp = test.Split(new char[] { '#'}, StringSplitOptions.RemoveEmptyEntries); strs = strs.Replace(" ",""); //日期:2018年07月31日
var cut = "";bool Mouthbl = false;
//查询第一个年字所在位置
for (int i=;i<strs.Length;i++)
{
cut = strs.Substring(i,); //截取一个字符
if (cut.Contains("年")) //当前字符是年字
{
//查找月字
for (int ii = i; ii < strs.Length; ii++)
{
cut = strs.Substring(ii, ); //截取一个字符
if (cut.Contains("月")) //当前字符是月字
{
//包含月字
Mouthbl = true;
var x = i;
var y = ii;
if (y-x<=&& y - x > ) //年月,a年a月,aa年aa月
{
//截取字符串
if (i>=)
{
var year = strs.Substring(i-,); //截取4个
//验证该字符串是否是数字(略)
var mouth = strs.Substring(ii - , ).Replace("年",""); //截取月
var day = "";
//截取日
if (strs.Length-(ii+)>=) //xx月xx日
{
day = strs.Substring(ii,).Replace("月","");
}
textBox2.Text = year + mouth + day; break; }
} }
}
if (Mouthbl)
{
break; //包含月
}
}
} } private void button2_Click(object sender, EventArgs e)
{ // Newmode.CompileDate = Convert.ToDateTime(CompileDate); //时间 字符串转时间
textBox1.Text = "";
textBox2.Text = "";
}
public string ff(string strs)
{
string result = ""; strs = strs.Replace(" ", ""); //日期:2018年07月31日
var cut = ""; bool Mouthbl = false;
//查询第一个年字所在位置
for (int i = ; i < strs.Length; i++)
{
cut = strs.Substring(i, ); //截取一个字符
if (cut.Contains("年")) //当前字符是年字
{
//查找月字
for (int ii = i; ii < strs.Length; ii++)
{
cut = strs.Substring(ii, ); //截取一个字符
if (cut.Contains("月")) //当前字符是月字
{
//包含月字
Mouthbl = true;
var x = i;
var y = ii;
if (y - x <= && y - x > ) //年月,a年a月,aa年aa月
{
//截取字符串
if (i >= )
{
var year = strs.Substring(i - , ); //截取4个
//验证该字符串是否是数字(略)
var mouth = strs.Substring(ii - , ).Replace("年", ""); //截取月
if (mouth.Length == ) //位数为1补0
{
mouth = "" + mouth;
}
var day = "";
//截取日
if (strs.Length - (ii + ) >= ) //xx月xx日
{
day = strs.Substring(ii, ).Replace("月", "");
if (day.Length==)////位数为1补0
{
day = "" + day;
}
}
result = year+"#" + mouth + "#" + day;
break; }
} }
}
if (Mouthbl)
{
break; //包含月
}
}
}
return result;
}
}
}
C# 处理年月日提取时间的更多相关文章
- cmd提取时间格式(小时)问题以及Windows系统语言判断
你在这里看到了我的现在的时间是01:15,没错正在做个开发,本来好好的,结果一运行,直接报错: 这里就是时间中的获取小时出了问题,之前23点那会已经调试通过了,过那时是没有问题的,那么这时发生了什么? ...
- NLP入门(十一)从文本中提取时间
在我们的日常生活和工作中,从文本中提取时间是一项非常基础却重要的工作,因此,本文将介绍如何从文本中有效地提取时间. 举个简单的例子,我们需要从下面的文本中提取时间: 6月28日,杭州市统计局权 ...
- datetime 2017-10-21 10:09:02.560 转年月日的时间类型
sql语句时间转年月日格式: 适用于多种时间格式 select REPLACE(STUFF(CONVERT(char(10), REPLACE(CONVERT(varchar(10),'2017-1 ...
- Java获取当前时间年月日、时间格式化打印、字符串转日期
package com.sysc.simple; import java.text.ParseException; import java.text.SimpleDateFormat; import ...
- MYSQL 提取时间中的信息的 4 方法
方法 1. year(),month(),day() 方法 2. dayofweek(),dayofmonth(),dayofyear(); 方法 3. hour(),minute(),second( ...
- js HTML 年月日星期 时间的
效果格式:2019 年 04 月 13 日 星期六 13 : 24 : 49上面的类名有多余的 因为这是之前项目中的 方便以后使用 <!DOCTYPE html> <html> ...
- scala转换date提取年月日时分秒
从数据库提取出来的时间为 String 格式,现在需要转换为 date 并提取出里面的 小时 时间段: import java.text.SimpleDateFormat import java.ut ...
- excel函数提取身份证出生日期,分离日期时间的日期和时间
1.提取身份证出生日期 =1*TEXT(MID(H13,7,8),"0-00-00")用MID函数提取表示日期的位数,再用text函数转换为格式1998-6-21格式的文本,再通过 ...
- 解析Linux内核的基本的模块管理与时间管理操作---超时处理【转】
转自:http://www.jb51.net/article/79960.htm 这篇文章主要介绍了Linux内核的基本的模块管理与时间管理操作,包括模块加载卸载函数的使用和定时器的用法等知识,需要的 ...
随机推荐
- mongo04---基本查询
核心: mongod: 数据库核心进程 mongos: 查询路由器,集群时用 mongo: 交互终端(客户端) 二进制导出导入: mongodump:导出bson数据 mongorestore: 导入 ...
- Iphone 启动图的尺寸
APP图标设置 - 取Images.xcassets中的AppIcon, 图标尺寸 29pt * 2x => 58 * 5829pt * 3x => 87 * 8740pt * 2x =& ...
- BZOJ2283: [Sdoi2011]火星移民
Description 在2xyz年,人类已经移民到了火星上.由于工业的需要,人们开始在火星上采矿.火星的矿区是一个边长为N的正六边形,为了方便规划,整个矿区被分为6*N*N个正三角形的区域(如图1) ...
- Nginx反向代理服务器、负载均衡和正向代理
Nginx("engine x")是一个高性能的 HTTP 和反向代理服务器,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日.官方测试 nginx 能够支撑5万 ...
- redis启动时指定配置文件
Redis 启动时指定配置文件需要通过 redis 服务启动才行: 安装服务的教程:http://blog.csdn.net/justinytsoft/article/details/54580919 ...
- CodeForces 721B Journey (DP)
题意:给定一个有向图,你从1出发到n,走尽可能多的点,并且使总权值不大于t. 析:在比赛时,竟然看成有向图了,就想了好久,感觉dp,但是不会啊...如果是有向图就好做多了,枚举边,然后打印就好,dp[ ...
- 让CentOS启动后直接进入命令行模式(转载)
转自:http://361324767.blog.163.com/blog/static/114902525201285101410206/ CentOS中如何进入图形界面和文字界面,Linux真正的 ...
- Codeforces Round #209 (Div. 2) C - Prime Number
传送门 题意 给出n个数及x,求 \[\frac{\sum _{i=1}^n x^{a_1+a_2+...+a_{i-1}+a_{i+1}+...a_n}}{\prod_{i=1}^n x^{a_i} ...
- bzoj 4236: JOIOJI【前缀和+map】
设sj,so,si分别是J O I的个数前缀和,然后要求求最长(l,r)满足sj[r]-sj[l-1]==so[r]-so[l-1]==si[r]-si[l-1],化简一下就是满足so[r]-so[l ...
- bzoj2720: [Violet 5]列队春游(概率期望+组合数学)
Description Input Output Sample Input Sample Output HINT 数学题都这么骚的么……怎么推出来的啊……我是真的想不出来…… 首先,要算总的视 ...