生成最近n天的时间,
格式为:
所有
今天
昨天
前天
2011-08-07 星期日
2011-08-06 星期六
public static List<Map<String, Object>> initDate(int dayOfago, String dbkey, String dbName)
{
List<Map<String, Object>> dateList = new ArrayList<Map<String, Object>>();
Map<String, Object> dateMap = new HashMap<String, Object>();
dateMap.put(dbkey, "");
dateMap.put(dbName, "所有");
dateList.add(dateMap);
for (int i = 0; i < dayOfago; i++)
{
dateMap = new HashMap<String, Object>();
dateMap.put(dbkey, formatDate(i));
if (i == 0)
{
dateMap.put(dbName, "今天");
dateList.add(dateMap);
continue;
}
if (i == 1)
{
dateMap.put(dbName, "昨天");
dateList.add(dateMap);
continue;
}
if (i == 2)
{
dateMap.put(dbName, "前天");
dateList.add(dateMap);
continue;
}
String showTime = getWeekStr(formatDate(i));
dateMap.put(dbName, showTime);
dateList.add(dateMap);
}
return dateList;
}
public static String formatDate(int i)
{
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
calendar.add(Calendar.DAY_OF_YEAR, -i);
Date date = calendar.getTime();
return sdf.format(date);
}
public static String getWeekStr(String sdate)
{
String str = "";
str = getWeek(sdate);
if ("1".equals(str))
{
str = "星期日";
}
else if ("2".equals(str))
{
str = "星期一";
}
else if ("3".equals(str))
{
str = "星期二";
}
else if ("4".equals(str))
{
str = "星期三";
}
else if ("5".equals(str))
{
str = "星期四";
}
else if ("6".equals(str))
{
str = "星期五";
}
else if ("7".equals(str))
{
str = "星期六";
}
return sdate + " " + str;
}
public static String getWeek(String sdate)
{
Date date = strToDate(sdate);
Calendar c = Calendar.getInstance();
c.setTime(date);
return new SimpleDateFormat("EEEE").format(c.getTime());
}
public static Date strToDate(String strDate)
{
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date strtodate = null;
try
{
strtodate = formatter.parse(strDate);
}
catch (ParseException e)
{
e.printStackTrace();
}
return strtodate;
}
分享到:
相关推荐
这个“文本的Java生成”主题主要涵盖了如何使用Java来操作和生成文本内容。以下是一些核心知识点: 1. **字符串与字符操作**:Java中的`String`类是不可变的,意味着一旦创建,就不能改变。对于动态生成文本,可以...
总的来说,Java中的中文文本摘要生成是通过融合分词工具和文本分析技术来实现的,它可以有效地帮助用户快速理解大量文本内容,节省阅读时间。随着自然语言处理技术的不断发展,未来Java中的文本摘要生成将更加智能化...
4、优点:使用代码生成驼峰形式的字段,可以减少出错概率,生成的实体类字段符合Java命名规范,易于阅读和理解。 5、使用示例:将"TITLE \n" +"COMPANY "可以转换为 /** * TITLE */ @Column(name = ...
在Java开发中,手动编写这些类可能会消耗大量时间,而这个生成器则能显著提高开发效率。 该生成器的工作流程大致如下: 1. **配置文件**:用户需要提供数据库的相关配置,如用户名、密码、数据库URL等,这些信息...
本主题涵盖了几个经典的算法,包括快速排序、广度优先搜索(BFS)、N皇后问题以及最小生成树。下面我们将逐一详细探讨这些算法。 1. **快速排序**:快速排序是一种高效的排序算法,由C.A.R. Hoare在1960年提出。它...
本文将深入探讨如何根据一个给定的日期获取最近几天的日期,主要涉及Java中的`Calendar`类,这是一个强大的日期和时间管理工具。 `Calendar`类是Java中的一个抽象类,它提供了对日期和时间的完整操作。要根据给定的...
总之,优化Log4j的日志生成策略是Java Web应用开发中的一项重要工作。通过合理的配置和定制,我们可以确保日志既满足查询和分析的需求,又不会过度消耗系统资源。理解并掌握这些知识点,将有助于我们更好地管理和...
除了文本,Java i18n还可以处理日期、时间、货币和数字的格式化。`java.text.SimpleDateFormat`和`java.text.DecimalFormat`类可以实现这一功能。例如,我们可以根据用户所在的地区来设置日期格式: ```java ...
这个算法的时间复杂度是O(N!),因为它需要生成并输出所有的排列。空间复杂度为O(N),因为递归调用的深度最多为N。 在实际应用中,全排列算法常用于解决各种问题,比如密码生成、组合优化、数据排序等。掌握这种算法...
在 StdRandom类中,静态初始化区域用于产生随机数种子,该种子是基于系统当前时间的毫秒数生成的。这个种子将被用于产生随机数的生成。 2. setSeed(long s)方法 setSeed(long s)方法用于设置随机数种子,该方法将...
以下是一个简单的Java函数,用于获取当前日期前后N天的日期: ```java import java.util.Calendar; import java.util.Date; import java.sql.Timestamp; import java.text.SimpleDateFormat; public class ...
对于一个含有n个不同元素的集合,其所有可能的排列总数为n!。传统的递归方法虽然能解决问题,但在某些情况下会变得非常低效,尤其是当n较大时。 ### 2. **递归优化技巧** 给定文件中提到的方法可以“节省(n-1)!次...
该算法的时间复杂度为 O(log n),其中 n 是数组的长度。该算法的空间复杂度为 O(1),因为我们只需要使用常数个变量来存储临时结果。 优缺点 该算法的优点是,它可以快速地查找指定的值,时间复杂度较低。但是,该...
在Java中,生成UUID最常用的方法是UUID.randomUUID(),它返回一个基于随机数生成的UUID实例。此外,UUID类还提供了其他构造方法,如使用long型的最高位和最低位生成UUID,或者通过字符串解析创建UUID对象。 UUID在...
在"javaN个常用工具类"这个压缩包中,我们可以期待看到一些实用且频繁使用的工具类集合。下面将详细解释可能包含在其中的一些常见工具类及其功能。 1. **StringUtils**: 这个类可能包含对字符串的各种操作,如检查...
在Java中,我们可以使用`java.util.Random`类来生成随机数。这个类提供了多种方法,如`nextInt()`用于生成指定范围内的整数,`nextDouble()`生成0到1之间的浮点数,以及`nextLong()`生成长整型随机数。生成随机数...
#### Java生成随机数的机制 ##### 线性同余法(LCG) Java主要采用线性同余法(Linear Congruential Generator, LCG)来生成伪随机数。LCG是一种常见的随机数生成算法,它基于以下公式: \[ X_{n+1} = (aX_n + c) \...
- **消息格式**:通过 `java.text.MessageFormat` 类来生成多语言的消息文本。 #### 字符集和 Unicode 字符集和编码方法是软件国际化的重要组成部分,尤其是在处理非拉丁字符集时。 - **字符集简介**:了解字符集...
对于n个点,我们需要计算n*(n-1)/2对点的距离,时间复杂度为O(n^2)。虽然效率不高,但当n值较小,蛮力法可以快速得出答案。在Java实现中,我们可以通过二维数组或者List来存储这些点,然后遍历所有可能的点对进行...
要找到一个数n的最近对称数,可以考虑将n转换为字符串,然后反转字符串,比较两者差异,取较小的差异值即可。 ```java public int nearestSymmetric(int n) { String strN = String.valueOf(n); String ...